C# 是否将任意数据附加到DirectoryInfo/FileInfo?

C# 是否将任意数据附加到DirectoryInfo/FileInfo?,c#,sql,filesystems,fileinfo,C#,Sql,Filesystems,Fileinfo,我有一个类似于SVN的网站,但没有版本控制。。用户可以上传和下载到项目,其中每个项目在服务器上都有一个目录(包含子目录和文件)。我想做的是将更多的信息附加到文件中,比如谁上传了它,下载了多少次,等等。是否有一种方法可以对FileInfo执行此操作,或者我应该将其存储在一个表中,使其自身与绝对路径或其他内容相关联?这种方式听起来不可靠而且容易出错:\可以使用NTFS(默认的Windows文件系统,我假设您正在使用它)将数据附加到任意文件中。你会用的。Microsoft将其用于扩展元数据,如Offi

我有一个类似于SVN的网站,但没有版本控制。。用户可以上传和下载到项目,其中每个项目在服务器上都有一个目录(包含子目录和文件)。我想做的是将更多的信息附加到文件中,比如谁上传了它,下载了多少次,等等。是否有一种方法可以对FileInfo执行此操作,或者我应该将其存储在一个表中,使其自身与绝对路径或其他内容相关联?这种方式听起来不可靠而且容易出错:\

可以使用NTFS(默认的Windows文件系统,我假设您正在使用它)将数据附加到任意文件中。你会用的。Microsoft将其用于扩展元数据,如Office文档中的作者和摘要信息


实际上,在我看来,数据库方法是合理的、广泛使用的,而且不容易出错。修改原始文件并不是一个好主意,除非您确实在更改其内容。

正如Michael Petrotta所指出的,备用数据流是一个好主意。不过,事实上,数据库才是最好的选择。SQL Compact和SQLite的影响很小,使用起来也很简单。

谢谢。我将DB条目“键入”到绝对路径的想法是否合适?有这样做的例子吗?@George:当我这样做的时候,我通常至少有“FileID”(主键)和“File Name”。其他元数据将进入此表或相关表。在上传时,我将文件重命名为(唯一的)文件ID,在下载时,我将其重新命名。我们还将文件分为100或500批进行分组,以简化手动目录遍历。