Ошибочные запросы, возникающие у клиента при использовании пользовательского механизма просмотра в ASP.Net MVC - PullRequest
2 голосов
/ 22 декабря 2010

Я потратил около 7 часов, пытаясь понять это, но ничего не получил.

Вот так выглядит моя трассировка скрипача alt text

У меня есть два маршрута, которые выглядят ниже, которые зарегистрированы для этой страницы.

[route name="DummyResultsWithMarketStateNames" url="DummyResults/state-{statename}/market-{marketname}/page-{page}/{action}"
   controller="DummyResults" action="Show"/]


[route name="DummyResultsWithMarketId" url="DummyResults/market-{marketid}/page-{page}/{action}"
      controller="DummyResults" action="Show"/]

Для этого URL, первый маршрут совпадает, и он идет к правильному действию.Тем не менее, клиент отправляет еще один запрос через секунду, в котором он удаляет последний параметр «page-1» и заменяет его «none».Я проследил за XHR, и их нет.Я не уверен, если это проблема с самой платформой MVC, но как бы это перевести как запрос от клиента? !!!Кроме того, я получаю различное поведение в разных браузерах (IE приведен выше).Кто-нибудь сталкивался с таким странным поведением?Я был бы рад предоставить больше информации, если хотите.

ОБНОВЛЕНИЕ:

Я настроил сайт на IIS и удалил все запросы изображений, CSS или сценариев.Я все еще в конечном итоге с несколькими запросами.Кажется, что оригинальная страница dummyresults теперь работает после того, как я удалил .htc.Однако у меня есть еще одна страница (скриншот ниже), которая не «сотрудничает».Должен ли я добавить Ignoreroutes для определенных расширений?Это сводит меня с ума!!!Простите за «бип» на изображении (по причинам IP).PS: я настроил другой сайт для обслуживания всех статических ресурсов.

alt text

1 Ответ

1 голос
/ 25 февраля 2011

В: Должен ли я добавить Ignoreroutes для определенных расширений? A: Конечно! По умолчанию расширение WCF "* .svc" игнорируется. Первое, что я добавляю на следующей странице, это, например, правило игнорирования favicon.ico.

RouteTable.Routes.IgnoreRoute("*.svc");
RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
RouteTable.Routes.IgnoreRoute("favicon.ico");
...