3

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

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

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

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


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

集合是只读的。

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

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

源错误:

在执行当前 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

4

1 回答 1

0

对于任何对此感到困惑的人-我今天遇到了这个确切的问题。

对我来说通过两个动作解决:

  1. 验证 IIS 中用于 .net 4.0/4.5 等的 isapi 过滤器是否允许
  2. 我已经安装了重写器模块(Helicon)。一旦我再次删除这些 ISAPI 过滤器 - 一切正常。

因此,检查isapi-filters是我的建议,除了所需的 .net 过滤器外,无需任何其他过滤器即可开始。

于 2015-10-22T08:34:50.130 回答