C#在服务器上打开文件夹

时间:2012-11-09 15:57:58

标签: c# iis networking web-applications io

我有一个Web Intranet应用程序,带有Windows身份验证,可以创建一个文件并将其保存到本地文件夹中。我希望用户能够打开该文件夹。

我目前正在这样做,

System.Diagnostics.Process.Start("C:\ABC");

上面的代码在本地计算机上进行开发时运行正常。但是在我将它部署到服务器后它无效。我希望用户打开服务器上存在的C:\ ABC文件夹。

我为应用程序池提供了权限,现在用户和应用程序池都拥有该文件夹的完全权限。 现在我得到了明显的错误

  

访问被拒绝。

但为什么?

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果您的应用程序在IIS中运行,则相应的IIS标识将需要至少读取该文件夹的权限。您使用的实际身份将取决于您配置Web应用程序的方式。

答案 2 :(得分:0)

如果其他文件被锁定,您可能会被拒绝访问。您可以专门使用WhoLockMe。

您还可以使用Process Explorer解决文件访问问题,并过滤该文件。有时你会得到更详细的信息。基本上,当您的应用程序尝试访问该文件时,Process Explorer将显示失败访问的错误,这可能会或可能不会提供比API异常更多的详细信息。有时,API可能会说拒绝访问,但实际上它找不到文件,Process Explorer会更明显。

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx