【发布时间】:2012-09-26 19:07:30
【问题描述】:
因此,有时我们的网络服务器(Windows Server 2008、IIS 7.5)会在我们拥有的非常古老的 .net 2.0ish asp.net/classic asp 网站上随机出现此错误。
通常情况下,IIS 重置会解决问题,但这个问题现在开始影响我们的生产服务器(IIS 不能在一天中真正重置这些),而且它似乎也更频繁地发生在任何地方别的。
所以我一直在寻找解决此问题的可能方法,但似乎无处不在的唯一方法是,如果我授予 NETWORKSERVICE/IIS_WPG 对临时 asp.net 文件的完全控制权,它应该可以自行修复。最后我检查了一下,这并不是一个好主意,因为您真的不希望您的 Web 应用程序完全控制任何东西(尤其是不在生产 Web 服务器上)。
如有任何关于此问题的指导,我们将不胜感激。
谢谢, 亚历克斯
示例错误:
“/”应用程序中的服务器错误。
无法加载文件或程序集“Csla.Extension”或其依赖项之一。访问被拒绝。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.IO.FileLoadException:无法加载文件或程序集“Csla.Extension”或其依赖项之一。访问被拒绝。
无法加载文件或程序集“AjaxControlToolKit”或其依赖项之一。访问被拒绝。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.IO.FileLoadException:无法加载文件或程序集“AjaxControlToolKit”或其依赖项之一。访问被拒绝。
来源错误: [没有相关的源代码行]
源文件:
c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\2794b922\App_Web_search.aspx.cdcab7d2.jqmd63vs.0.cs
【问题讨论】:
-
您是否使用匿名访问?您的 IIS 用户当前对“C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”有什么权限?您不必完全控制它,但在大多数情况下,它至少需要读取和写入权限。
-
这可能是由于意外的 IIS 和/或应用程序池崩溃/重新启动而引起的吗?可能会检查日志中的类似内容。
-
@David W - 是的,该站点确实又旧又笨重,因此应用程序池重新启动是绝对可能的。我们目前将其设置为每晚回收一次,但由于大量内存泄漏,它确实会经常回收。
-
@Gene S - 该站点使用 Windows 身份验证(但现在我正在查看它,它同时检查了表单和 Windows 身份验证)。 IIS_IUSRS(我假设它具有 NETWORKSERVICE(应用程序池在其下的 iis 帐户))具有读取和执行、列出文件夹内容和读取访问权限。我也可以给它写权限,但这又不是安全风险吗?
标签: c# asp.net iis-7.5 ajaxcontroltoolkit web-administration