Примечание. Я потратил много времени на поиски ответа и не нашел его.
У меня есть приложение ASP.NET MVC (2.0), размещенное на IIS7 (интегрированный режим).
Когда запрос GET сделан на /Toons/List
- я получаю перенаправление (302) до /Toons/List/
, которое ожидается.
ПРОБЛЕМА
Но когда я отправляю запрос POST, скажем, /Toons/Add
(не замечает конечной косой черты), сервер снова возвращает перенаправление (302) на /Toons/Add/
. На этом этапе FireFox ошибочно отправляет запрос GET на этот URL-адрес перенаправления. То есть [GET] /Toons/Add/
вместо [POST] /Toons/Add/
. Это неправильное, но известное поведение. Поскольку на /Toons/Add/
нет [GET] - я не получаю ресурс (404).
Я размещаю свое приложение с webhost4life и не имею доступа к IIS7, что ограничивает мое использование перезаписи URL-адресов и использования модулей (я работаю с ними, чтобы обойти это). Но даже чем, ISAPI - лучший способ пойти? Я не знаю этого достаточно, чтобы чувствовать себя хорошо в этом.
Это была общая проблема, я удивлен, что не мог найти для этого легкого решения.
Есть ли решение, которое не предполагает использования суффикса .aspx/.mvc и перезаписи URL?
Из этих двух, если понадобится, какой из них я должен предпочесть?
Любые идеи/предложения?
ИЗМЕНИТЬ:
Я прочитал http://www.hanselman.com/blog/ASPNETMVCAndTheNewIIS7RewriteModule.aspx, как я уже сказал, я пытаюсь найти более легкое решение, вариант "Just Work".
ИЗМЕНИТЬ:
Я видел решение с добавлением косой черты (/
) на каждый URL, опять же, кажется, не очень элегантное решение.