将ASP.NET从IIS 7升级到8.5

时间:2016-02-11 12:19:59

标签: c# asp.net iis

我们正在尝试将我们的Web应用程序服务器从2008年的盒子迁移到2012年。作为其中的一部分,我们还将IIS主机从7升级到8.5。

当我尝试访问我们在新框中使用与当前正在运行的生产环境相同的web.config的最简单应用程序时,我收到以下错误(在主机上本地使用IE)。

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.
Module
   WebSocketModule 

Notification
   BeginRequest 

Handler
   ExtensionlessUrlHandler-ISAPI-4.0_64bit 

Error Code
   0x80070490 

Config Error
   The configuration section 'system.webServer/webSocket' cannot be read because it is missing a section declaration  

Config File
   \\?\C:\XXX\XXX\XXX\web.config 

Config Source:
   -1: 
    0: 

我们的网络服务器部分如下所示。

<system.webServer>
    <modules>
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
    </modules>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET,POST" path="DX.ashx" name="ASPxHttpHandlerModule" preCondition="integratedMode" />
        <add name="ASPxUploadProgressHandler" preCondition="integratedMode" verb="GET,POST" path="ASPxUploadProgressHandlerPage.ashx" type="DevExpress.Web.ASPxUploadProgressHttpHandler, DevExpress.Web.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
    </handlers>
</system.webServer>

使用我的基本模式查找技巧,我尝试添加webSocket部分。

<system.webServer>
    <webSocket enabled="false"/>
    <modules>
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
    </modules>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET,POST" path="DX.ashx" name="ASPxHttpHandlerModule" preCondition="integratedMode" />
        <add name="ASPxUploadProgressHandler" preCondition="integratedMode" verb="GET,POST" path="ASPxUploadProgressHandlerPage.ashx" type="DevExpress.Web.ASPxUploadProgressHttpHandler, DevExpress.Web.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
    </handlers>
</system.webServer>

然后,错误消息将更改为以下内容。

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.
Module
   IIS Web Core 

Notification
   BeginRequest 

Handler
   Not yet determined 

Error Code
   0x8007000d 

Config Error


Config File
   \\?\C:\MDM\Webs\Symcom\web.config 

我在这里遗失了什么?我们工作的IIS 7部署和新的IIS 8.5部署之间的配置的唯一区别是我尝试提供配置的webSocket部分。

1 个答案:

答案 0 :(得分:0)

事实证明,我们安装了.NET,并在注册表中安装了配置值,但不是服务器管理器的一部分。我们还必须重新启动服务器以允许它完成一些更新。

一旦我们通过服务器管理器安装它并回收应用程序池,一切都很糟糕。