Мое приложение представляет собой гибрид dotnet 4 - MVC в некоторых областях, веб-формы в других. Это приложение было недавно обновлено до dotnet 4 и включает много старого кода и некоторые несоответствующие части. К сожалению, он включает компонент telerik, который требует от меня запуска пула приложений в классическом режиме.
Чтобы исправить это (в IIS7), мне нужно добавить отображение обработчика в конфигурацию IIS. Это сопоставление в основном представляет собой сопоставление с подстановочными знаками, которое указывает путь с подстановочными знаками «*» к% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll.
Проблема, с которой я столкнулся, заключается в следующем: по какой-то причине это сопоставление сбрасывается при развертывании сайта. Итак, могу ли я добавить функциональность этого сопоставления в веб-конфигурацию? Если да, то как?
Или существует другое решение, позволяющее сделать это добавленное вручную сопоставление «липким», чтобы оно оставалось на месте во время и после развертывания? (Я также спрашиваю об этом в StackOverflow, поскольку я не уверен, должен ли это быть вопрос кодирования или вопрос сервера)
Хорошо, я понял, что происходит; Когда вы редактируете сопоставления обработчиков и добавляете пользовательское сопоставление для одного сайта, он фактически редактирует веб-конфигурацию, добавляя элемент 'handlers' в раздел 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 после ее развертывания. Очевидно, если у вас есть права на запись на сервере.