Http Hanlder должен быть сброшен при каждом развертывании. Как я могу добавить эту функциональность в web.config

Мое приложение представляет собой гибрид dotnet 4 - MVC в некоторых областях, веб-формы в других. Это приложение было недавно обновлено до dotnet 4 и содержит много старого кода и некоторые несовпадающие части. К сожалению, он включает компонент telerik, который требует от меня запуска пула приложений в классическом режиме.

Чтобы это исправить (в IIS7), мне нужно добавить сопоставление обработчика в конфигурацию IIS. Это сопоставление, в основном, является символом подстановки, который указывает путь подстановки "*" на%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll.

Проблема, с которой я сталкиваюсь, заключается в следующем: по какой-то причине это отображение сбрасывается при развертывании сайта. Итак, я могу добавить функциональность этого сопоставления в веб-конфигурацию? Если так, то как?

Или есть другое решение, чтобы сделать это добавленное вручную сопоставление "липким", чтобы оно оставалось на месте во время и после развертывания? (Я также спрашиваю об этом в StackOverflow, так как я не уверен, должен ли это быть вопрос о кодировании или вопрос о сервере)

2 ответа

Решение

Хорошо, я понял, что происходит; Когда вы редактируете сопоставления обработчика и добавляете пользовательское сопоставление для отдельного сайта, он фактически редактирует веб-конфигурацию, добавляя элемент "обработчики" в раздел system.webServer (если он еще не существует) и внутри него добавляет список подстановочных знаков, который в моем случае это:

<system.webServer>
    <handlers>
        <add name="Wildcard" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
    </handlers>
</system.webServer>

поэтому я скопировал эти строки и поместил их в свой файл web.config для среды, в которой я развертываюсь (в данном случае это бета-версия, но мне нужно будет сделать то же самое для производства) и для альта, настройка теперь на месте после развертывания. То, что происходило, было то, что эти настройки были потеряны во время каждого развертывания, потому что (очевидно) web.config был перезаписан.

Спасибо Squillman за попытку помочь мне в этом; Хотя я сам это понял!

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

Другие вопросы по тегам