UrlRewritting влияет на ASP.NET AJAX - PullRequest
1 голос
/ 24 марта 2011

Я использую UrlRewritting в моем проекте. все функции работают нормально, но я не могу использовать ASP.NET Ajax, например updatePanel и т. д., проблема в том, что отсутствует файл ScriptResource.axd (ошибка 404). Перед использованием UrlRewritting я использовал много элементов управления ASP.net Ajax, поэтому не могу изменить весь код .....

  1. как включить ASP.NET Ajax?
  2. есть альтернатива для замены ASP.NET Ajax без изменения в коде.

Ответы [ 2 ]

4 голосов
/ 07 ноября 2012

Вы должны настроить модуль перезаписи URL в файле web.config.

Отменить все .axd или .svc или любой или любой запрос jquery или веб-сервиса или любой указанный файл или 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>
1 голос
/ 24 марта 2011

Добавить правило, которое явно избегает блокировки или перенаправления всех файлов .axd.

Например, у проекта MVC есть конкретное исключение маршрута:

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

Это обеспечивает правильную работу Ajax (помимо прочего).

...