Перезапись URL в визуальной студии c # - PullRequest
1 голос
/ 06 сентября 2010

У меня есть пара вопросов относительно реализации перезаписи URL в Visual Studio 2008

  • В настоящее время я использую Intelligencia.UrlRewriter для реализации перезаписи URL в CS 2008. Однако правила перезаписинемного отличаются по сравнению с правилами перезаписи IIS7. Есть способ, которым мы можем использовать те же правила при отладке в VS2008, а затем использовать те же правила при использовании в IIS7.

  • Чтоэто лучший способ игнорировать изображения, файлы CSS и JS из правил переписывания. Это возможно с помощью Intelligencia.UrlRewriter.

  • Есть ли более эффективные методы?

    СпасибоВы,

Ответы [ 2 ]

0 голосов
/ 04 марта 2011

Я бы рекомендовал использовать URL Rewrite для этого, http://www.iis.net/download/URLRewrite, а для разработки использовать IIS Express (http://learn.iis.net/page.aspx/868/iis-developer-express-overview/), который поставляется с интегрированным URL Rewrite, и вы можете настроить и использовать его с VS 2008, см .: Как настроить Visual Studio 2008 для использования IIS Express?

Лучше всего то, что у вас будут все функции (не только перезапись URL), такие как фильтрация запросов, отслеживание неудачных запросов и т. Д., Которые будут у вас при развертывании на сервере и будут полностью готовы к развертыванию.

0 голосов
/ 03 марта 2011

Kushal,

Да, вы могли бы сделать пару вещей. Лично я бы выбрал один и придерживался его. Если вы хотите использовать Intelligencia, то ваши правила будут работать во встроенном отладчике, а также в IIS7 в интегрированном режиме. Если вы хотите использовать расширение правил перезаписи, установите его в свой локальный IIS7 http://www.iis.net/download/URLRewrite,, затем настройте новый веб-сайт в своем локальном IIS, указывая на корневой веб-сайт вашего проекта. Отредактируйте файл hosts и укажите заголовок узла домена вашего сайта на локальный IP-адрес. Вы можете отредактировать свойства вашего веб-проекта и выбрать Custom Server для вашего отладчика и вставить туда заголовок хоста для вашего локального сайта. Таким образом, вы используете IIS7 для разработчиков и разработчиков.

Для игнорирования статических файлов, таких как js и css из Intelligencia, используйте это правило в верхней части списка правил:

<rewrite url="^(/.+(\.gif|/.+\.png|\.jpg|\.ico|\.pdf|\.css|\.js|\.asmx|\.axd|\.flv|\.swf)(\?.+)?)$" to="$1" processing="stop" />

Единственное, о чем я могу думать, это настроить задачу после сборки, которая будет запускать скрипт для чтения правил Intelligencia, а затем преобразовывать и записывать их как правила перезаписи IIS.

...