我在向HostMySite部署ASP Web应用程序时遇到问题.该应用程序以前已部署到位于不同平台上的服务器,没有任何问题.但是,对于当前域和服务器,我继续在下面收到服务器错误.
'/ PropertyManagement'应用程序中的服务器错误.当前标识(ADSAFESECUREWEB\C116018-fhmonlinea)没有对"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files"的写入权限.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.Web.HttpException:当前标识(ADSAFESECUREWEB\C116018-fhmonlinea)没有对"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files"的写入权限.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.我知道代码没有明确地尝试写入.NET临时目录,但我想知道应用程序是否在运行时以某种方式使用该目录.主机一直告诉我,我必须将我的应用程序配置为不使用临时目录,因为它们不会提供对它的读/写访问权限.有人可以告诉我为什么我的应用程序可能正在尝试使用此目录以及我可以做什么来配置它以使用我有权访问的其他目录.我是ASP开发的新手,需要帮助.谢谢!
堆栈跟踪:
[HttpException(0x80004005):当前标识(ADSAFESECUREWEB\C116018-fhmonlinea)没有对"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files"的写入权限.] System.Web. HttpRuntime.SetUpCodegenDirectory(CompilationSection compilationSection)+11650831 System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags,PolicyLevel policyLevel,Exception appDomainCreationException)+323
[HttpException(0x80004005):当前标识(ADSAFESECUREWEB\C116018-fhmonlinea)没有对"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files"的写入权限.] System.Web. HttpRuntime.FirstRequestInit(HttpContext context)+11612256 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+4842149
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.1
Chr*_*ard 23
CLR将所有程序集复制到该目录并编译.aspx/.asmx/etc文件,并将编译后的版本放入Temporary ASP.NET Files中.
这必须是可写的,以便您的站点可以在运行时编译.
正如评论中所讨论的,如果提供程序拒绝让您写入该目录,则可以通过将以下内容放在web.config"system.web"部分中来覆盖它:
<compilation tempDirectory="c:\path\to\directory\you\can\write" />
Run Code Online (Sandbox Code Playgroud)