2008-12-08 1 views
2

С помощью инструкций от Paul Johnson's Web Widgets страница Я создал свой собственный виджет. Однако из-за того, что я развертывал в IIS 6.0, я использовал web.config change recommended для отображения страницы, поскольку в IIS 6.0 параметр управления конфигурацией IIS 7.0 не был доступен.Проблема с внедрением кода веб-виджета Пола Джонсона, он работает в VS 2008, но не в развертывании в IIS 6.0

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

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

Любая помощь, отлаживающая эту проблему, будет высоко оценена.

ответ

2

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

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

Edit: Детали

  • В диспетчере IIS свойств открытого приложения.
  • Select Главная Каталог Вкладка
  • Нажмите Конфигурация ...
  • Выберите запись в списке отображений для .aspx, нажмите кнопку Изменить ...
  • Выделить и скопировать содержимое текстового окна Исполняемые, нажмите кнопку Отмена
  • Нажмите Добавить ...
  • Вставить в текстовом поле исполняемого
  • Введите .jss в текстовом поле Extension
  • Enter ПОЛУЧИТЬ. Голова в Лимита на: поле
  • Вам может понадобиться отключить Убедитесь, что файл существует

Хорошо, что много из.

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

0

Несколько других изменений, которые я должен был сделать ...

Config изменение (обработчик должен отображаться в 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 
Смежные вопросы