Хорошо, так что я работаю со старым веб-сайтом компании. Мы говорим о классическом ASP здесь. У меня это работало на сервере разработки, но как только оно пошло на рабочий сервер, другие вещи на сервере, такие как веб-службы, начали ломаться.
Итак, я добавил страницу aspx, которая использует элемент управления просмотра отчетов. Проблема возникает, когда я добавляю обработчик http в файл веб-конфигурации. Поскольку архитектура сайта не совсем удобна, мне нужно изменить корневой веб-файл конфигурации, и это вызывает проблемы, поскольку подкаталоги наследуются от корневого веб-файла конфигурации.
Вот ошибка, которую я получаю
Вот вещи, которые я пробовал, которые, я думал, сработают.
Сначала я подумал, что добавление элемента местоположения в файл веб-конфигурации будет работать, но не стоит (конечно), он не регистрирует обработчик http. И это выдает ошибку.
<location path="activityreport.aspx">
<system.web>
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>
</system.web>
</location>
Затем я подумал, что я бы переместил файл aspx в подкаталог и предоставил ему свой собственный файл веб-конфигурации, в котором регистрируется http-обработчик, но это не помогло
<system.web>
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>
</system.web>
Есть одна вещь, которую я попробовал, которая работает, но я не уверен, что это не заставит все подпапки наследовать свойство.
Установка пути к местоположению "."
<location path=".">
<system.web>
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>
</system.web>
</location>
Мой вопрос ... Есть ли способ зарегистрировать этот обработчик http программно. Или, возможно, вы заметили что-то не так с моими настройками веб-конфигурации.