UrlRewriting 影响 ASP.NET AJAX

发布于 2024-10-26 04:09:33 字数 258 浏览 5 评论 0原文

我在我的项目中使用 UrlRewriting。所有功能都正常工作,但我无法使用 updatePanel 等 ASP.NET Ajax。问题是 ScriptResource.axd 文件丢失(404 错误)。在使用 UrlRewriteting 之前我使用了很多 ASP.net Ajax 控件,所以我无法更改整个代码......

  1. 如何启用 ASP.NET Ajax?
  2. 有任何替代方案可以在不更改代码隐藏的情况下替换 ASP.NET Ajax。

I am using UrlRewritting in my project. all functionality is working proper but I cant use the ASP.NET Ajax like updatePanel etc. the problem is ScriptResource.axd file is missing (404 Error). I used lot of ASP.net Ajax control before using UrlRewritting so I cant change the whole code.....

  1. how can I enable ASP.NET Ajax?
  2. have any Alternative to replace ASP.NET Ajax without changing in codebehind.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

书间行客 2024-11-02 04:09:33

您必须在 web.config 文件中配置 URL 重写模块。

否定所有 .axd 或 .svc 或任何 jquery 或 webservice 请求或任何特定文件或 URL。

例如..

<rule name="Lower Case URLs" stopProcessing="true">
      <match url="[A-Z]" ignoreCase="false"/>
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{URL}" pattern="WebResource.axd" negate="true"/>
        <add input="{URL}" pattern="ScriptResource.axd" negate="true"/>
        <add input="{URL}" pattern="CIMService.svc" negate="true"/>
      </conditions>
      <action type="Redirect" url="{ToLower:{URL}}"/>
    </rule>
    <rule name="Trailing Slash" stopProcessing="true">
      <match url="(.*[^/])$"/>
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
        <add input="{URL}" pattern="WebResource.axd" negate="true"/>
        <add input="{URL}" pattern="ScriptResource.axd" negate="true"/>
        <add input="{URL}" pattern="CIMService.svc" negate="true"/>
      </conditions>
      <action type="Redirect" url="{R:1}/"/>
    </rule>

You have to configure the URL Rewriting module in web.config file.

Negate all .axd or .svc or any or any jquery or webservice request or any specif file or URL.

For example..

<rule name="Lower Case URLs" stopProcessing="true">
      <match url="[A-Z]" ignoreCase="false"/>
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{URL}" pattern="WebResource.axd" negate="true"/>
        <add input="{URL}" pattern="ScriptResource.axd" negate="true"/>
        <add input="{URL}" pattern="CIMService.svc" negate="true"/>
      </conditions>
      <action type="Redirect" url="{ToLower:{URL}}"/>
    </rule>
    <rule name="Trailing Slash" stopProcessing="true">
      <match url="(.*[^/])$"/>
      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
        <add input="{URL}" pattern="WebResource.axd" negate="true"/>
        <add input="{URL}" pattern="ScriptResource.axd" negate="true"/>
        <add input="{URL}" pattern="CIMService.svc" negate="true"/>
      </conditions>
      <action type="Redirect" url="{R:1}/"/>
    </rule>
帅气称霸 2024-11-02 04:09:33

添加一条规则,明确避免阻止或重新路由所有 .axd 文件。

例如,MVC 项目有这个特定的路由异常:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

这可以确保 Ajax(除其他外)正常工作。

Add a rule that explicitly avoids blocking or re-routing all .axd files.

An MVC project for example has this specific route exception:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

This ensures Ajax (among other things) works correctly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文