【发布时间】:2012-09-05 08:32:55
【问题描述】:
我在 IIS6 上发布了我的网站。
通过 File.WriteAllText("C:\" + txtSaveExport.Text + ".CSV", b.ToString()); 保存文件时。它给出了一个错误:
em.UnauthorizedAccessException:对路径“C:\hj.CSV”的访问被拒绝。 ASP.NET 无权访问请求的资源。考虑向 ASP.NET 请求标识授予对资源的访问权限。 ASP.NET 有一个基本进程标识(通常是 IIS 5 上的 {MACHINE}\ASPNET 或 IIS 6 和 IIS 7 上的网络服务,以及 IIS 7.5 上配置的应用程序池标识),如果应用程序不是模拟的,则使用该标识。如果应用程序通过 模拟,则身份将是匿名用户(通常是 IUSR_MACHINENAME)或经过身份验证的请求用户。
要授予 ASP.NET 对文件的访问权限,请在资源管理器中右键单击该文件,选择“属性”并选择“安全”选项卡。单击“添加”以添加相应的用户或组。突出显示 ASP.NET 帐户,然后选中所需访问权限的复选框。``
如何处理?
【问题讨论】:
-
完全不建议您这样做,但如果您只想这样做,请在您的 C 盘上授予写入权限
Network Service。 -
我不想做先生。由于该网站将在何处运行,因此它会推断该组合。它需要给予许可。
-
那么在这种情况下,您不应该在
"C:\"驱动器中写入,而应该使用特定文件夹,如“~\APP_DATA”应用程序文件夹,用于在asp.net 中进行此类操作。您必须在app_data文件夹上授予写入权限。 -
对不起,先生,我需要保存在本地机器而不是服务器上。
-
服务器端代码无论如何都无法访问客户端的机器。我建议您研究一下什么是 Web 应用程序?在编写下一个服务器端代码之前。