我正在谷歌上搜索我的问题的解决方案,但我还没有找到它。
我正在将Web应用程序从.NET framework 3.5迁移到4.0,它大量使用标记为 [System.Web.Services.WebMethod(true)] 的方法,通过 jQuery调用$就()即可。 此外,我有一个自定义 HttpModule 来填充 CurrentPrincipal ,其中包含从http标头变量收到的用户信息。 更重要的是,基于.net 3.5的应用程序部署在带有集成模式应用程序池的IIS 7.0上,并具有以下关于自定义模块的配置:
<modules>
<remove name="ScriptModule" />
<add name="MyHttpModule" preCondition="managedHandler" type="MyNamespace.MyHttpModule, MynameSpace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxx" />
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
和
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="MyHttpModule" type="MyNamespace.MyHttpModule, MynameSpace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxx" />
</httpModules>
基于.NET 3.5框架的应用程序运行良好,并且对于所有请求,始终调用自定义HttpModule,无论是标准.net GET / POST还是AJAX GET / POST调用。
现在,在迁移的Web应用程序上,基于.net 4.0框架,我保留了相同的配置(将版本从3.5.0.0升级到4.0.0.0),但它不起作用。 Web服务器是相同的,具有IIS 7.0和具有集成模式的应用程序池。 自定义HttpModule在第一次请求主页时调用,但不在WebMethod请求中调用。 我也试图反转模块顺序而没有效果。
你有什么建议吗?
提前致谢!