asp.net tryint写入服务器上的文件

时间:2010-05-07 09:07:40

标签: asp.net

我正在尝试写入我网站上的文件。但是在尝试使用此行打开文件时: fileName = HostingEnvironment.ApplicationPhysicalPath +“lala.htm”;

我得到这个例外: (它走向了正确的道路,但仍然不允许我写信给它)

拒绝访问路径' d:\ DZHosts \ LocalUser \ asafz83 \ www.asafz83.somee.com \ lala.htm '。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

异常详细信息:System.UnauthorizedAccessException:拒绝访问路径'd:\ DZHosts \ LocalUser \ asafz83 \ www.asafz83.somee.com \ lala.htm'。

ASP.NET无权访问所请求的资源。考虑将资源的访问权限授予ASP.NET请求标识。 ASP.NET具有基本进程标识(通常是IIS 5上的{MACHINE} \ ASPNET或IIS 6上的网络服务),如果应用程序未模拟,则使用该标识。如果应用程序是模拟通过,则标识将是匿名用户(通常是IUSR_MACHINENAME)或经过身份验证的请求用户。

要授予对文件的ASP.NET访问权限,请在资源管理器中右键单击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”以添加适当的用户或组。突出显示ASP.NET帐户,并选中所需访问的框。

来源错误:

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

堆栈追踪:

[UnauthorizedAccessException:拒绝访问路径'd:\ DZHosts \ LocalUser \ asafz83 \ www.asafz83.somee.com \ lala.htm'。    System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)+7716639    System.IO.FileStream.Init(String path,FileMode mode,FileAccess access,Int32 rights,Boolean useRights,FileShare share,Int32 bufferSize,FileOptions options,SECURITY_ATTRIBUTES secAttrs,String msgPath,Boolean bFromProxy)+1162    System.IO.FileStream..ctor(字符串路径,FileMode模式,FileAccess访问,FileShare共享,Int32 bufferSize,FileOptions选项)+65    System.IO.StreamWriter.CreateFile(String path,Boolean append)+62    System.IO.StreamWriter..ctor(String path,Boolean append,Encoding encoding,Int32 bufferSize)+58    System.IO.StreamWriter..ctor(String path,Boolean append)+33    C:\ Documents and Settings \אסףאזולאי\ My Documents \ Visual Studio 2008 \ Projects \ WebSite6 \ Class1 \ httpFilter.cs中的Class1.HTTPFilter.Init(HttpApplication上下文):50    System.Web.HttpApplication.InitModulesCommon()+ 65    System.Web.HttpApplication.InitModules()+43    System.Web.HttpApplication.InitInternal(HttpContext context,HttpApplicationState state,MethodInfo [] handlers)+729    System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context)+298    System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context)+107    System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)+289

请帮助... ANYONE ...

1 个答案:

答案 0 :(得分:0)

您是否阅读了异常消息:

  

ASP.NET无权访问   请求的资源。考虑   授予对资源的访问权限   到ASP.NET请求标识。   ASP.NET具有基本进程标识   (通常是IIS 5上的{MACHINE} \ ASPNET   或IIS 6上的网络服务)   如果申请不是,则使用   冒充。如果申请是   冒充通过,身份会   是匿名用户(通常是   IUSR_MACHINENAME)或经过身份验证的   请求用户。

     

要授予对文件的ASP.NET访问权限,   在资源管理器中右键单击该文件,   选择“属性”并选择   安全选项卡。单击“添加”以添加   适当的用户或组。突出   ASP.NET帐户,并检查   用于所需访问的框。

因此,将ASPNET帐户的写权限授予d:\DZHosts\LocalUser\asafz83\www.asafz83.somee.com文件夹。