2013-10-09 5 views
4

Есть ли способ настроить маршрутизацию ASP.NET в файле web.config? Мне ничего не нужно. Если пользователь посещает/myApp/list, я хочу загрузить /myApp/list.html. Однако я НЕ хочу, чтобы адресная строка менялась.Настройка маршрутизации ASP.NET в Web.config

Возможно ли это? Если да, то как?

+0

Возможный дубликат [Могу ли я хранить маршруты ASP.NET MVC в web.config?] (Http://stackoverflow.com/questions/773502/can-i-store-asp-net-mvc-routes-in- веб-конфигурации) –

ответ

6

Лучший способ заключается в использовании модуля UrlRewrite в IIS: http://www.iis.net/learn/extensions/url-rewrite-module

Как сделать это правило в web.config после установки UrlRewrite:

<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="my-first-url-rule" stopProcessing="true"> 
      <match url="^/myApp/list$" /> 
      <action type="Rewrite" url="/myApp/list.html" appendQueryString="true" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 
1

В настоящее время не существует Нет не посещающий the-box для настройки маршрутов в файле web.config.

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

Это догадки, почему. В большинстве случаев, кажется, добавление новых маршрутов может быть связано с появлением ошибок маршрутизации и должно сопровождаться хорошим регрессионным тестированием. И поэтому, вероятно, это будет сделано как часть нового выпуска продукта. Возможно, это может быть одна из причин, почему он не настраивается через файл конфигурации. Другая причина может заключаться в том, что правила маршрутов могут быть довольно сложными, чтобы помещать их в формат xml - ограничения, пользовательские обработчики маршрутов и т. Д.

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