2

使用Paul Johnson 的 Web Widgets页面中的说明,我创建了自己的自定义小部件。但是,因为我正在部署到 IIS 6.0,所以我使用了推荐的 web.config 更改来呈现页面,因为 IIS 7.0 配置管理选项在 IIS 6.0 中不可用。

使用 VS 2008 调试时,小部件会正确呈现。但是,一旦将文件和更新的 web.config 部署到运行 IIS 6.0 的 Windows 2003 Server 并且引用的地址呈现的错误是“找不到页面”。

开发机器是 Windows Vista 机器,但是由于 VS 2008 使用自己的内部 Web 服务器而不是 Vista 的 IIS 7.0 进行调试,我不相信这会成为问题。

任何调试此问题的帮助将不胜感激。

4

2 回答 2

2

他的指示是不完整的。您还需要将 .jss 的应用程序配置中的脚本映射添加到 windows\microsoft.NET\framework\vXXXX\ 目录中的 aspnet_isapi.dll。

IIS6 不执行 Cassini 固有的集成管道,并且在 IIS7 中是默认设置。

编辑:详细信息

  • 在 IIS 管理器中打开应用程序属性。
  • 选择主目录选项卡
  • 单击配置...
  • 在 .aspx 的映射列表中选择条目,单击编辑...
  • 高亮并复制Executable文本框的内容,点击取消
  • 单击添加...
  • 粘贴到可执行文本框中
  • 在 Extension 文本框中输入 .jss
  • 输入 GET。HEAD in Limit to: 框
  • 您可能需要禁用验证文件是否存在

好的,很多。

现在,扩展名为 .jss 的 URL 将移交给 ASP.NET 进行处理。

于 2008-12-09T17:22:49.710 回答
0

我必须进行的其他一些更改...

配置更改(处理程序应映射到 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(取决于您在 Default.aspx 中设置“脚本”标签的方式):

Public Overrides Function BuildOutput() As String
    Dim sOutput As String = "document.write('<br><b>Hello World</b>');"
    Return sOutput
End Function
于 2009-06-30T15:42:31.703 回答