Проблема с реализацией кода веб-виджета Пола Джонсона, он работает в версии 2008, но не при развертывании в IIS 6.0

StackOverflow https://stackoverflow.com/questions/350393

Вопрос

Используя инструкции из Веб-виджеты Пола Джонсона страница, на которой я создал свой собственный пользовательский виджет.Однако, поскольку я выполнял развертывание в IIS 6.0, я использовал рекомендуется изменить web.config для отображения страницы, поскольку опция управления конфигурацией IIS 7.0 была недоступна в IIS 6.0.

Виджет отображается корректно при отладке с помощью VS 2008.Однако, как только файлы и обновленный web.config будут развернуты на сервере Windows 2003 под управлением IIS 6.0 и на указанный адрес будет выведена ошибка "Страница не может быть найдена".

Машина разработки - это машина с Windows Vista, однако, поскольку VS 2008 использует свой собственный внутренний веб-сервер, а не IIS 7.0 Vista для отладки, я не думал, что это было бы проблемой.

Мы были бы очень признательны за любую помощь в отладке этой проблемы.

Это было полезно?

Решение

Его инструкции неполны.Вам также нужно будет добавить сопоставление скрипта в конфигурации приложения для .jss с aspnet_isapi.dll в каталоге Windows\microsoft.NET\framework\vXXXX\.

IIS6 не выполняет интегрированный конвейер, который присущ Cassini и используется по умолчанию в IIS7.

Редактировать:Подробные сведения

  • В диспетчере IIS откройте свойства приложения.
  • Выберите вкладку Домашний каталог
  • Нажмите кнопку Настройка...
  • Выберите запись в списке сопоставлений для .aspx, нажмите Изменить...
  • Выделите и скопируйте содержимое исполняемого текстового поля, нажмите кнопку Отмена
  • Нажмите Добавить...
  • Вставить в исполняемое текстовое поле
  • Введите .jss в текстовое поле Расширения
  • Введите GET.ГОЛОВА в пределе до:коробка
  • Возможно, вам потребуется отключить Проверку существования этого файла

Ладно, эту партию уберите.

Теперь URL-адрес, имеющий расширение .jss, будет передан в ASP.NET для обработки.

Другие советы

Пара других изменений, которые мне пришлось внести...

Изменение конфигурации (обработчик должен соответствовать EventsWidget, а не WidgetBase):

<system.web>
<httpHandlers>
<add verb="GET,HEAD" path="eventswidget.jss" type="Demo1.Handlers.EventsWidget, Demo1" validate="false" />
</httpHandlers>
</system.web>

EventsWidget.BuildOutput должен возвращать Javascript (в зависимости от того, как вы установили тег 'script' в Default.aspx):

Public Overrides Function BuildOutput() As String
    Dim sOutput As String = "document.write('<br><b>Hello World</b>');"
    Return sOutput
End Function
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top