MVC2 + ASP.NET 4.0 + IIS6 + URL без расширений, больше не нужно сопоставление с подстановочными знаками?
Я заметил, что asp.net 4.0 теперь устанавливает плагин isapi верхнего уровня (в iis6), так что он может проверять каждый запрос, поступающий на сервер. Должно ли это теперь позволить нам запускать приложения MVC с URL-адресами без расширений и заставить asapnet isapi обрабатывать их правильно, не требуя сопоставления с подстановочными знаками (и избегая связанных с этим проблем производительности)? Я еще не нашел ничего написанного по этому поводу, и у меня не было времени провести расследование. Спасибо
3 ответа
Похоже, что в 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