OWIN初创公司的剖析

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

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

 class Startup { public void Configuration(IAppBuilder appBuilder) { ... } } 

在框架中没有 IOwinStartup接口或OwinStartup基类背后的基本原理是什么?

 interface IOwinStartup { void Configuration(IAppBuilder appBuilder); } 

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

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

它不是一个“钩子”,而是一个惯例。 这里有一篇很好的文章:

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

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

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

可以通过获取取消令牌来完成清理。 此信息位于文档中,该文档与您显示的示例相关联。 我不确定我是否理解你是如何得出文件缺失的结论的时候显然没有。

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

当然,它缺少详细说明和例子……但是有很多关于这个东西的博客文章……

您可能还想阅读OWIN规范:

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