2012-11-02 139 views
0

我知道使用C#API创建文件。我的要求是有点不同,因为我想创建一个文件,这将锁定我们的系统的方式,作为另一个第三方应用程序可以读取文件,但最重要的是,第三方应用程序将在此期间读取文件没有身体不能移动,复制&删除这个文件。寻求建议如何用c#来做到这一点。感谢如何写入和锁定文件

回答

2

只需打开该文件FileShare.Read

using (var f = File.Open(filename, 
        FileMode.Open, FileAccess.Write, FileShare.Read) 

这意味着你想要什么:没有人现在可以写入,修改或删除文件。但是,他们仍然可以复制它,因为如果您可以读取字节,则无法阻止某人将它们写入其他地方。

+0

我希望第三部分会读取它,那么任何人都无法复制或移动文件。可能吗? – Thomas

+1

@Thomas第三方可以用FileShare.None打开文件,这将确保* nobody * else可以读取或复制文件,更不用说修改或删除。 –

0

您可以提供服务。服务将为每个请求返回基本文件的新副本。并且3rt部分应用程序将在请求时获得实际文件。

+0

什么样的服务.... Windows服务或Web服务。如果我创建Windows服务,那么第三部分如何与赢取服务进行通信。这是可行的吗? – Thomas

+0

@Thomas,web服务。 – Frank59