【问题标题】:Problem implementing Paul Johnson's Web Widget code, it works in VS 2008 but not in deployment to IIS 6.0实现 Paul Johnson 的 Web Widget 代码时出现问题,它在 VS 2008 中有效,但在部署到 IIS 6.0 时无效
【发布时间】:2008-12-08 18:28:07
【问题描述】:

使用来自Paul Johnson's Web Widgets 页面的说明,我创建了自己的自定义小部件。但是,因为我正在部署到 IIS 6.0,所以我使用 web.config change recommended 来呈现页面,因为 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 进行调试,我不认为这会是一个问题。

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

【问题讨论】:

    标签: asp.net iis-6 web-config widget ihttphandler


    【解决方案1】:

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

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

    编辑:详细信息

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

    好的。

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

    【讨论】:

      【解决方案2】:

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

      配置更改(处理程序应映射到 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
      

      【讨论】:

        猜你喜欢
        • 2012-02-10
        • 2020-04-21
        • 1970-01-01
        • 1970-01-01
        • 2019-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多