asp.net , модуль перезаписи URL и web.config
-
21-08-2019 - |
Вопрос
я использую ASP.net с .NET 3.5 на IIS7 (Vista) с модулем перезаписи URL от Microsoft.
Это означает, что у меня есть
<system.webServer>
<rewrite>...</rewrite>
...
</system.webServer>
раздел в web.config, но я получаю предупреждение, что в system.webServer элемент "rewrite" запрещен.
Как я могу настроить свою систему так, чтобы она разрешала (и, возможно, даже имела Intellisense) переписывать часть web.config?
Спасибо Кристоф
Решение
Мне удалось заставить это работать в Visual Studio 2010.
Начнем с поста Руслана здесь и загрузите файл IntelliSense 2.0.Затем просто следуйте инструкциям, которые он опубликовал ранее здесь.Все, что я в итоге сделал, это выполнил следующую команду, как инструктирует Руслан:
C:\download_directory\rewrite2_intellisense>cscript UpdateSchemaCache.js
Как указывает Кристоф в своем комментарии, убедитесь, что вы заменили VS90COMNTOOLS
с VS100COMNTOOLS
в UpdateSchemaCache.js перед выполнением приведенной выше команды, если вы используете Visual Studio 2010.
Мне не нужно было перезапускать Visual Studio.Я добавил следующее <rewrite>
раздел только для применимых файлов преобразования Web.config, поскольку его наличие в основном Web.config прерывает локальную отладку.
Другие советы
Я считаю, что вам нужно, чтобы модуль перезаписи URL был "установлен" в файле web.config в вашей системе.
Вам необходимо либо установить модуль в ваше приложение через интерфейс IIS 7.0, либо попросить вашу хостинговую компанию сделать это за вас.
Я считаю, что вам нужно определить модуль в вашем 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/
Обновить:Убедитесь, что группа разделов указана в %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>