C# 监视文件的读取和更改数据?

C# 监视文件的读取和更改数据?,c#,file,monitoring,C#,File,Monitoring,是否有任何方法,使用C#监视特定文件,然后在特定应用程序读取该文件之前更改其内容 情况如下: 我有一台运行ASP.NET的Windows 2003服务器,它带有一个包含LDAP信息的配置文件(xml)。我想对LDAP密码进行加密。我正在尝试设计一种方法来监视该文件,并且每当读取该文件时,解密LDAP密码并将其传递给正在读取它的任何人。有没有办法知道哪个程序正在进行读取?我已经准备好进行加密/解密,但它内置于ASP.NET安装中;我想把它做成外部的。加密/解密是使用密钥存储中的密钥的RSA 如果您

是否有任何方法,使用C#监视特定文件,然后在特定应用程序读取该文件之前更改其内容

情况如下:


我有一台运行ASP.NET的Windows 2003服务器,它带有一个包含LDAP信息的配置文件(xml)。我想对LDAP密码进行加密。我正在尝试设计一种方法来监视该文件,并且每当读取该文件时,解密LDAP密码并将其传递给正在读取它的任何人。有没有办法知道哪个程序正在进行读取?我已经准备好进行加密/解密,但它内置于ASP.NET安装中;我想把它做成外部的。加密/解密是使用密钥存储中的密钥的RSA

如果您希望在主应用程序外部进行加密/解密,那么创建一个单独的.dll或webservice如何。然后,在ASP.NET应用程序中调用的是webserice或.dll

类似(警告:未编译-您需要清理)


然后,您的ASP.NET服务根本不知道加密的密码。此外,如果您有其他应用程序需要访问相同的文件,它们可以调用相同的Web服务。

我认为,在文件上使用NTFS权限可以更好地实现这一点。仅向某些用户/组授予访问权限,并确保需要访问安全数据的任何进程都在具有正确ACL权限的用户的安全上下文下运行。

为什么要加密每次读取时自动解密的内容?这里有一个诀窍,不要加密它,只要告诉人们它是加密的,并且每次他们试图查看它时都会自动解密。@Jimmy,这就是只允许特定应用程序使用它的地方。+1 Webservice是创建对这种性质的文件的解密访问的正确方法,但它并不能解决他进行所有读取的问题(就像记事本试图读取它时)如果事实上这是一项要求,则向其提供文件的解密版本。@Jimmy Hoffa-是的,如果读取它的所有内容都需要解密,这将不起作用。但是,如果读取它的所有内容都需要解密,为什么首先要加密?设置读取权限,以便只有授权用户/组才能读取该文件。问题是我可以nt有权访问/无法更改我想使用它的所有web应用程序的源代码。否则我会这样做。如果我没有记错的话,这是一个好主意ASP.NET(使用IIS 6)在网络服务下运行。有人可以确认吗?ASP.NET工作进程可以在您设置的任何帐户下运行,我认为默认情况下这是网络服务。通常,您希望设置安全性,以便不必担心动态解密数据。如果您要为任何请求者解密数据,它也可能不是encryp特德。
WebServiceInstance instance = new WebServiceInstance();
string password = instance.PerformGetPassword();