OWIN初创公司的剖析

Tim*_*lds 6 .net c# owin asp.net-web-api2

OWIN Startup类的所有钩子是什么?关于这些的信息很少.

例如,每个Startup类上的一个必需钩子是它应该有一个Configuration方法.可以从Microsoft文档中收集此信息.

class Startup
{
    public void Configuration(IAppBuilder appBuilder)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

背后是什么理由具有IOwinStartup界面或OwinStartup框架中的基础类?

interface IOwinStartup
{
    void Configuration(IAppBuilder appBuilder);
}
Run Code Online (Sandbox Code Playgroud)

如何为基于OWIN的应用程序执行清理?OWIN是否检测Dispose到Startup类上的方法,类似于检测Configuration方法的方法?

经过大量搜索后,我发现了这个相关的问题:在自托管的OWIN Web API中,如何在关机时运行代码? 目前尚不清楚回答这个问题的人是如何得出必要的信息的.我是否遗漏了关键文档,或者OWIN Startup课程的这些细节看起来难以捉摸?

Eri*_*sch 4

与其说它是一个“钩子”,不如说它是一个惯例。这里有一篇关于此的好文章:

http://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection

至于为什么没有界面,很可能是因为没有必要锁定到那个级别。这很大程度上是基于反射的,您可以通过各种配置参数指定用于启动的类和方法。

对于您链接到的示例中的 WebAPI,您可以在 WebApp.Start 方法中执行此操作,并使用要使用的方法的名称指定 StartOptions,但约定是 Configuration。

可以通过获取取消令牌来完成清理。此信息位于文档中,该文档是您所展示的示例的链接。我不确定我是否理解您如何得出文档丢失的结论,而事实显然没有。

http://msdn.microsoft.com/en-us/library/microsoft.owin.builderproperties.appproperties.onappdisusing(v=vs.113).aspx

当然,它缺少阐述和示例......但是有很多关于这些东西的博客文章......

您可能还想阅读 OWIN 规范:

http://owin.org/spec/spec/owin-1.0.0.html

  • OWIN 规范中的这些句子澄清了很多事情:“OWIN 是根据委托结构定义的。没有名为 OWIN.dll 或类似的程序集。实现主机或应用程序端 OWIN 规范不会引入对一个专案。” “带有配置方法的启动类”只是提供 `Action<IAppBuilder>` 的约定。全部就是这样。谢谢你消除了我的困惑。 (3认同)