【问题标题】:Serve up an aspx page in an asp.net web app using Microsoft.Owin.Host.SystemWeb (Katana)使用 Microsoft.Owin.Host.SystemWeb (Katana) 在 asp.net Web 应用程序中提供一个 aspx 页面
【发布时间】:2018-11-07 22:32:56
【问题描述】:

我有一个 .net Web 应用程序,其中包含对 OWIN 的引用。

这一切正常,并且正在愉快地使用 OWIN 为 Web 应用程序提供服务。

我想在同一个 Web 应用程序中包含一个 aspx 网页。有什么方法可以通知我的 Web 应用程序不要将 OWIN 用于单个页面(或路径)。

【问题讨论】:

    标签: asp.net owin katana


    【解决方案1】:

    从调查来看,这似乎是不可能的。

    有几个处理程序映射在起作用。

    System.Web.UI.PageHandlerFactory 处理 aspx 页面 Microsoft.Owin.Host.SystemWeb.OwinHttpHandler 处理 owin 请求

    我可以单独添加它们并接近我需要的内容

    即:

    <system.webServer>
      <handlers>
        <clear />
        <add name="OWIN" path="test" verb="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler" />
      </handlers>
    </system.webServer>
    

    这将允许从目标路径提供自己的东西(在 mycase 中测试)

    <system.webServer>
      <handlers>
        <clear />
        <add name="APSX" path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory"/>
      </handlers>
    </system.webServer>
    

    允许我提供一个 aspx 页面 - 但前提是 OWIN dll 不在 bin 目录中。

    如果存在 OWIN dll,则 PageHandlerFactory 将放入 OWIN 处理程序并通过 OWIN 生成提供服务。 IE。即使没有指定 OwinHttpHander,它仍然会进入 OWIN。我猜这是 PageHandlerFactory 代码中内置的。

    据我所知,这意味着 您永远不能在使用 Katana 的同一个 Web 应用程序中拥有一个 aspx 页面(因为它需要 OWIN dll,然后 PageHandlerFactory 调用到 OWIN代码而不是 aspx - 从测试中推导出来,而不是证明是正确的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-04
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      相关资源
      最近更新 更多