0

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

我目前正在这样做,

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

在我的本地机器上开发时,上面的代码运行良好。但是在我将它部署到服务器后它不起作用。我希望用户打开服务器上存在的 C:\ABC 文件夹。

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

拒绝访问。

但为什么 ?

4

3 回答 3

0

如果其他东西锁定了文件,您可能会收到拒绝访问。您可以专门为此使用 WhoLockMe。

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

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

于 2012-11-12T07:22:06.583 回答
0

编辑

检查该帖子:System.Diagnostics.Process.Start 无法从 IIS 工作

于 2012-11-09T15:59:18.860 回答
0

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

于 2012-11-09T16:03:03.120 回答