2009-08-13 2 views
1

Я пытаюсь использовать jQuery, чтобы сделать некоторые вызовы AJAX, но поскольку у меня есть отображение дикой карты (в .NET) в IIS 6, оно не работает. Отключение отображения делает все волшебным образом.

Я поместил атрибут веб-метода на методы как на страницу .aspx, так и на веб-службу .asmx, но ни одна из них не работает. Вот пример URL, который я использую для AJAX звонки:

localhost/UserChecker.aspx/CheckIfUserEmailsExists

localhost/UserChecker.asmx/CheckIfUserEmailsExists

Я полагаю, что это должно быть что-то с тем, как .NET интерпретирует URL, но я не совсем уверен, Зачем. Что еще более важно, я не уверен, как это исправить, кроме как отключить картографирование карт! Есть ли другой путь???

UPDATE

О CMS Я использую (Кентико) делает некоторые URL маршрутизации, но даже если я пропущу по маршрутизации в коде Global.asax.cs, я все еще получаю 404.
Заранее спасибо!Почему отображение дикой карты IIS нарушает мои звонки AJAX?

+0

Вы также выполняете маршрутизацию URL? –

+0

Проверьте мое обновление. –

ответ

2

С отображением подстановочного на IIS будет работать первоначальный запрос через подстановочный обработчик первый. Это будет сделано до перезаписи URL-адресов (или маршрутизации URL-адресов) вашей CMS.

Я думаю, именно поэтому вы получаете 404.

Вы также можете попытаться отключить флажок «проверить файл существует» на сопоставлении подстановочных знаков, чтобы удовлетворить сценарий, когда фактический URL будет позже переписан на другое.

1

Это не полный ответ, но я надеюсь, что он укажет вам направление решения.

Вы пытались получить доступ к URL-адресу непосредственно в браузере и использовать некоторые хорошо расположенные точки останова для отслеживания проблемы?

Если вы получаете 404s, это звучит так, как ваши правила маршрутизации не работают.

[Я буду обновлять это, если вы можете дать немного больше информации о поведении вы видите]

UPDATE

Я думаю, что может происходить так:

You» повторное предоставление отдельного отображения для файлов с расширениями (в этих случаях .aspx и .asmx):

LOCALHOST/UserChecker.aspx/CheckIfUserEmailsExists

localhost/UserChecker.asmx/CheckIfUserEmailsExists

Эти сопоставления используются при отключении сопоставлений диких карт, а обработчик «/ CheckIfUserEmailsExists» используется или игнорируется. Когда вы включаете сопоставления подстановочных знаков, ваша маршрутизация не сообщает вашему приложению, как правильно «маршрутизировать».

Если вы удалили расширения (с включенными подстановочными знаками), работает ли следующая работа?

LOCALHOST/UserChecker/CheckIfUserEmailsExists

+0

Я попытался отладить его, но я не совсем уверен, что ищу. Я поставил точку останова в обработчике события global.asax.cs 'Application_BeginRequest' и пропустил код маршрутизации Kentico, но он все равно дает мне 404. Если я сам получаю доступ к службе или странице, она работает нормально. Но когда я добавляю синтаксис «.NET Invoke» и добавляю «/», а имя метода не работает. Если я отключу картографирование карт, все будет хорошо. –

+0

Удаление расширения не работает, и я не уверен, как это все равно поможет? Как IIS и .NET могут каким-либо образом узнать, как управлять запросом? –

+0

Я не знаю Кентико, и вы сказали, что делаете какую-то маршрутизацию, тот факт, что вы пытаетесь использовать подстановочные знаки, подразумевает, что вы пытаетесь отправить все ваши запросы через asp dll в любом случае - если я не понял вопрос ! – Lewis

0

Добавьте соответствующие URL-адреса в список исключений: используйте параметр «Исключенные URL-адреса» на вкладке «Управление сайтом-> Настройки». (basic help documentation)

0

Я предлагаю проверить URl вне рамок CMS; Проблема должна быть связана с маршрутизацией URL. Нет, не знаю, как он работал без картографирования диких карт.

Вопросы для понимания: 1. У вас работает CMS при попытке без карточного картографирования? 2. Как эта система CMS взаимодействует с IIS; IASPI dll? или HTTP-обработчики/модули?

 Смежные вопросы

  • Нет связанных вопросов^_^