【问题标题】:ASP.NET 4.0 Custom IHttpModule doesn't fire when call WebMethod with jQuery AJAX使用 jQuery AJAX 调用 WebMethod 时,ASP.NET 4.0 自定义 IHttpModule 不会触发
【发布时间】:2014-11-02 16:46:22
【问题描述】:

我在谷歌上搜索了很多以找到解决问题的方法,但我还没有找到。

我正在将 Web 应用程序从 .NET 框架 3.5 迁移到 4.0,它广泛使用标记为 [System.Web.Services.WebMethod(true)] 的方法,通过 jQuery 调用$.ajax()。 此外,我有一个自定义 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 调用。

现在,在迁移的基于 .net 4.0 框架的 Web 应用程序上,我保留了相同的配置(将版本从 3.5.0.0 升级到 4.0.0.0)但它不起作用。 Web 服务器是相同的,具有 IIS 7.0 和集成模式的应用程序池。 自定义 HttpModule 在主页的第一个请求上调用,但对 WebMethod 请求不调用。 我也尝试过颠倒模块顺序但没有效果。

你有什么建议吗?

提前致谢!

【问题讨论】:

  • 您留下了相同的配置,不要将脚本模块的版本更改为 .net 4.0.0.0 而不是 3.5.0.0 。作为 ?
  • 如前所述,我将程序集的版本从 3.5.0.0 更改为 4.0.0.0
  • 您是否也使用 .net 3.5 的 ajax 控制工具包?可能你也继续第 4 版。如果您不使用 ajax 控制工具包,那么您可以尝试删除 ScriptModule。
  • 我不使用 Ajax 控制工具包。我使用jQuery通过Ajax技术调用web方法。
  • @NicolaCeliento 我也遇到了同样的问题,你找到解决这个问题的方法了吗?

标签: jquery .net-4.0 webmethod httpmodule


【解决方案1】:

5 年后,我遇到了同样的问题。我在一个 .aspx 文件中有一堆 [WebMethod] 属性,然后将它们移到单独的 .asmx 文件中对我有用。

【讨论】:

    猜你喜欢
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多