asp.net, модуль перезаписи URL и web.config - PullRequest
31 голосов
/ 12 декабря 2008

Я использую ASP.net с .NET 3.5 на IIS7 (Vista) с модулем перезаписи URL от Microsoft.

Это означает, что у меня есть

<system.webServer>
    <rewrite>...</rewrite>
    ...
</system.webServer>

раздел в web.config, но я получаю предупреждение, что в system.webServer элемент "rewrite" не разрешен.

Как я могу настроить свою систему, чтобы разрешить (и, возможно, даже использовать Intellisense) для перезаписи части web.config?

Спасибо Christoph

Ответы [ 3 ]

25 голосов
/ 15 августа 2010

Мне удалось заставить это работать в Visual Studio 2010.

Начните с сообщения Руслана здесь и загрузите файл 2.0 IntelliSense. Затем просто следуйте инструкциям, которые он разместил ранее здесь . Все, что я в итоге сделал, выполнил следующую команду в соответствии с указаниями Руслана:

C:\download_directory\rewrite2_intellisense>cscript UpdateSchemaCache.js

Как указывает Кристоф в своем комментарии, убедитесь, что вы заменили VS90COMNTOOLS на VS100COMNTOOLS в UpdateSchemaCache.js перед выполнением вышеуказанной команды, если вы используете Visual Studio 2010.

Мне не нужно было перезапускать Visual Studio. Я добавил раздел <rewrite> только в соответствующие файлы преобразования Web.config, так как наличие его в основном файле Web.config нарушает локальную отладку.

3 голосов
/ 28 ноября 2009

Я считаю, что вам нужно определить модуль в вашем файле web.config следующим образом:

<system.webServer>
    <modules>
        <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
    </modules>
</system.webServer>

Обновление: Intellisense можно настроить здесь:

http://ruslany.net/2009/08/visual-studio-xml-intellisense-for-url-rewrite-1-1/

Обновление: убедитесь, что группа section определена в% systemroot% \ system32 \ inetsrv \ config \ applicationHost.config:

<sectionGroup name="rewrite">
    <section name="rules" overrideModeDefault="Allow" />
    <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
    <section name="rewriteMaps" overrideModeDefault="Allow" />
</sectionGroup>
3 голосов
/ 16 мая 2009

Полагаю, вам нужно, чтобы модуль перезаписи URL был "установлен" в файле web.config в вашей системе.

Вам нужно либо установить модуль в своем приложении через интерфейс IIS 7.0, либо попросить хостинговую фирму сделать это за вас.

...