保存文件时System.UnauthorizedAccessException

时间:2012-09-05 08:32:56

标签: asp.net iis-6

我在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帐户,并选中所需访问的框.`

如何处理?

2 个答案:

答案 0 :(得分:1)

您需要为该文件夹中的Aspnet用户授予写入权限。

看到这个: http://devnet.logixml.com/rdPage.aspx?rdReport=Article&dnDocID=209

最好的问候。

答案 1 :(得分:0)

写入C:驱动器下的变量目录不是一个好主意。我建议您不要在C下写入权限,而是写入您的Web应用程序目录下的目录,您可以通过Server.MapPath("~")获取该目录。确保您将应用程序池的用户帐户的写访问权授予应用程序目录下的任何文件夹,这样您就会更安全。