异常集合是IIS7.5上ASP4.5的只读错误

时间:2013-01-07 15:32:56

标签: asp.net iis-7.5 dotnetnuke

我在共享托管环境中运行Dotnetnuke7,使用ASP.net 4.5和IIS以集成管道模式配置(根据DNN7的要求)。

当我在托管服务提供商的Win2008 / IIS7服务器(ASP4.0)上安装它时,应用程序运行正常,但是当我在主机提供商的Win2008R2 / IIS7.5服务器上安装它时(ASP4.5)我获取异常在尝试登录或向网站提交任何内容时,集合是只读的。 (例如使用DNN搜索功能)。请参阅下面的详细堆栈跟踪。

托管服务提供商检查了.net 4.5权限,并且还应用了特定于apppool的权限,但还没有运气。

有人知道IIS7.5参数或选项可能是什么原因?


应用程序中的服务器错误。

收集是只读的。

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.NotSupportedException:Collection是只读的。

来源错误:

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

堆栈追踪:

[NotSupportedException: Collection is read-only.]    System.Collections.Specialized.NameObjectCollectionBase.BaseSet(String name, Object value) +6703734   
System.Web.HttpServerVarsCollection.SetServerVariableManagedOnly(String name, String value) +116    
System.Web.HttpServerVarsCollection.SynchronizeServerVariable(String name, String value) +28    
System.Web.HttpRequest.SynchronizeServerVariable(String name, String value) +112    System.Web.Hosting.IIS7WorkerRequest.GetServerVarChanges(HttpContext ctx) +308    System.Web.Hosting.IIS7WorkerRequest.SynchronizeVariables(HttpContext context) +9676858    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +151

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.17929

1 个答案:

答案 0 :(得分:0)

对于那些对此感到困扰的人 - 我今天遇到了这个问题。

为我解决了两个动作:

  1. 验证IIS中的isapi过滤器是否允许.net 4.0 / 4.5等
  2. 我安装了rewriter-modules(Helicon)。一旦我再次删除这些ISAPI过滤器 - 一切正常。
  3. 因此,检查 isapi-filters 是我的建议,除了所需的.net过滤器外,没有任何其他过滤器。