C# 允许用户修改应用程序存储的文档

C# 允许用户修改应用程序存储的文档,c#,.net,file,filesystems,C#,.net,File,Filesystems,我们有以下情况: *NET应用程序允许用户上载文档。 *文档存储在文件系统中,用户当前无法访问。路径基本上是\year\month\day\filename.ext *路径和文件名存储在数据库(MS SQL200)中,用于将文档链接到系统中的各种记录 问题是: 如何实施以下情况: 我们维护文件和记录之间的链接 我们允许用户修改文件并轻松访问它们 我们可以防止文件和数据库不同步的情况。 它必须尽可能方便用户(例如:否“下载文件,修改并再次上传”) 谢谢你的提示和指点 Matej < P>在你重


我们有以下情况:
*NET应用程序允许用户上载文档。
*文档存储在文件系统中,用户当前无法访问。路径基本上是\year\month\day\filename.ext
*路径和文件名存储在数据库(MS SQL200)中,用于将文档链接到系统中的各种记录

问题是:
如何实施以下情况:
我们维护文件和记录之间的链接
我们允许用户修改文件并轻松访问它们
我们可以防止文件和数据库不同步的情况。
它必须尽可能方便用户(例如:否“下载文件,修改并再次上传”)
谢谢你的提示和指点
Matej

< P>在你重新发明车轮之前,你考虑过了吗?

< P>正如安得烈所说(+ 1),你应该考虑SharePoint。那将是我的第一个选择

如果您仍然需要从头开始,您的文件系统文件夹将需要对唯一用户的ACL权限进行限制,该用户由您的应用程序(可能是您的应用程序池用户)控制。该用户,并且只有该用户,才允许操作该文档。或者可以考虑将它们存储在数据库中,就像SharePoint一样。

您需要处理用户在同一天上载同名文件的问题


要下载它们,您可以首先实现一个
IHttpAsyncHandler
;开始时很琐碎,但很容易变得复杂。

请参阅下面安德鲁的答案。。您正在描述SharePoint。如果您因为许可成本(或其他原因)而无法使用SharePoint等商用文档管理系统,请提及-否则,使用DMS是正确的做法,因为Windows Server 2003或更高版本的许可证可以免费提供共享点。否,未使用DMS。到目前为止,所有文件都只是存储和下载/通过电子邮件发送。无需修改。该系统已到位,并已使用多年。现在我们需要适应使用上的变化。当然,如果产品的实施和成本是我们自己解决方案的一个很好的替代方案,我们不会停止使用该产品。请注意,任何DMS使用项目都必须包含上载当前文件,同时保留指向正确记录的链接。