C# 为什么我的ASP Web应用程序试图写入C:\Windows\Microsoft.NET\Framework64\v4.0.30319\临时ASP.NET文件?
将ASP web应用程序部署到HostMySite时遇到问题。该应用程序以前已部署到不同平台上的服务器上,没有任何问题。但是,对于当前的域和服务器,我继续得到下面的服务器错误 “/PropertyManagement”应用程序中出现服务器错误。 当前标识(ADSAFESECUREWEB\C116018 fhmonlinea)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET文件”的写入权限。 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 异常详细信息:System.Web.HttpException:当前标识(ADSAFESECUREWEB\C116018 fhmonlinea)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\临时ASP.NET文件”的写入权限 源错误: 在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别。我知道代码没有显式地尝试写入.NET临时目录,但我想知道应用程序是否在运行时以某种方式使用该目录。主机一直告诉我,我必须将我的应用程序配置为不使用临时目录,因为它们不会提供对它的读/写访问。有人能告诉我为什么我的应用程序可能会尝试使用此目录,以及我可以做些什么来配置它以使用我有权访问的其他目录。我是ASP开发新手,需要帮助。谢谢 堆栈跟踪: [HttpException(0x80004005):当前标识(ADSAFESECUREWEB\C116018 fhmonlinea)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\临时ASP.NET文件”的写入权限。] System.Web.HttpRuntime.SetUpCodegenDirectory(编译部分编译部分)+11650831 System.Web.HttpRuntime.HostingIT(HostingEnvironmentFlags hostingFlags,PolicyLevel PolicyLevel,Exception appDomainCreationException)+323 [HttpException(0x80004005):当前标识(ADSAFESECUREWEB\C116018 fhmonlinea)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\临时ASP.NET文件”的写入权限。] System.Web.HttpRuntime.FirstRequestInit(HttpContext上下文)+11612256 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext上下文)+141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequestWR,HttpContext上下文)+4842149C# 为什么我的ASP Web应用程序试图写入C:\Windows\Microsoft.NET\Framework64\v4.0.30319\临时ASP.NET文件?,c#,asp.net,iis,C#,Asp.net,Iis,将ASP web应用程序部署到HostMySite时遇到问题。该应用程序以前已部署到不同平台上的服务器上,没有任何问题。但是,对于当前的域和服务器,我继续得到下面的服务器错误 “/PropertyManagement”应用程序中出现服务器错误。 当前标识(ADSAFESECUREWEB\C116018 fhmonlinea)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET文件”的写入权限。 描述:执行当前w
版本信息:Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.0.30319.1CLR将所有程序集复制到该目录,并编译.aspx/.asmx/etc文件,并将编译后的版本放入临时ASP.NET文件中 这必须是可写的,以便您的站点可以在运行时编译 编辑:下面是解释 如评论中所述,如果提供程序拒绝您写入该目录,您可以通过在
web.config
,“system.web”部分中添加以下内容来覆盖该目录:
<compilation tempDirectory="c:\path\to\directory\you\can\write" />
将应用程序池的标识添加到服务器的IIS\u IUSRS组。我必须将应用程序池标识设置为NETWORKSERVICE
然后将连接到我的网站的用户(您在网站的“基本设置”下的“IIS设置”中“连接为”的用户)添加到IIS_IUSRS组中,也可以重新安装asp.net,请从以下步骤中查找:
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
aspnet_iis -i
当我将物理路径凭据(在高级设置中)设置到应用程序池的帐户时,出现了此错误
在我的案例中,修复方法是将物理路径凭据重置为“应用程序用户”,并使用修复我的原始错误,即将匿名身份验证重置为应用程序池标识,对于此特定站点,该标识是IUSR,该用户无权访问应用程序路径(因为我们使用特定用户作为应用程序池标识).我们通过HostMySite托管该网站,他们一直告诉我,他们不允许对该目录进行写访问。我就这个问题和其他人争论了好几天。您是否建议我尝试查找一些MSFT文档,这些文档清楚地说明了您的上述信息,以证明它们没有正确配置?自从6-8个月前他们开始重组平台以来,我和这位主持人之间除了问题什么都没有。当然,该应用程序在我们的开发环境中运行良好。与您交谈的支持人员可能不理解。MSDN的那篇文章解释了这一点。如果他们说的是真的,几乎每个人的网站都会被破坏。如果他们确实给了您一个可以写入的目录,您可以在
web.config
中进行设置。指向tempDirectory
设置的更好链接。基本上,您可以在web.config
中的
元素中执行
。谢谢,我在发表评论后不久在您的文章中找到了它。这非常有效。谢谢你的帮助。我刚刚注意到Windows 8“发布预览”中发生了这种情况,所以我想一些默认设置已经更改了?使用完全相同的安装程序。我在Windows7、Server2008R2或XPSP3Brilliant中都没有发现这个错误!我已经为我的apppool用户向临时ASP.NET文件添加了完全控制。但是在将apppool用户添加到IIS_IUSERS组后,我可以删除完全控制权限,并且一切都很好。非常感谢!你是说阿斯内特·瑞吉斯吗?