MVC2 + ASP.NET 4.0 + IIS6 + URL без расширений, больше не нужно сопоставление с подстановочными знаками?

Я заметил, что asp.net 4.0 теперь устанавливает плагин isapi верхнего уровня (в iis6), так что он может проверять каждый запрос, поступающий на сервер. Должно ли это теперь позволить нам запускать приложения MVC с URL-адресами без расширений и заставить asapnet isapi обрабатывать их правильно, не требуя сопоставления с подстановочными знаками (и избегая связанных с этим проблем производительности)? Я еще не нашел ничего написанного по этому поводу, и у меня не было времени провести расследование. Спасибо

3 ответа

Решение

Нашел ответ: http://blogs.msdn.com/b/tmarq/archive/2010/06/18/how-to-disable-the-asp-net-v4-0-extensionless-url-feature-on-iis-6-0.aspx

Похоже, что в asp.net 4.0 появились новые функции, которые включают URL без расширений. Мне нужно больше исследовать это, чтобы узнать, как его использовать.

Обычно он добавляет /eurl.axd/GUID к каждому перенаправленному запросу, который затем передается в aspnet_isapi.dll для обработки. eurl.axd затем удаляется на этом этапе.

Проблемы, с которыми я сталкиваюсь, заключаются в том, как они взаимодействуют между моим программным обеспечением IIRF для Ionics rewriter и этим новым.net rewriting... кажется, что они время от времени мешают друг другу.

ASP.NET 4.0 устанавливает C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll Фильтр ISAPI для сопоставления входящего запроса с новым CLR, но этот фильтр не зарегистрирован как сопоставление с подстановочными знаками, а связан только с известными расширениями. Он не перехватывает каждый входящий запрос. Если вы хотите иметь URL-адреса без расширений, вам нужно будет выполнить те же действия, что и для ASP.NET 2.0, но вместо этого использовать новый фильтр ISAPI.

Не могли бы вы проверить эту страницу об удалении eurl.axd, и я проверил, это сработало! http://www.helicontech.com/forum/15029-ASPNET_40_MVC_and_ISAPI_Rewrite_3.html

Другие вопросы по тегам