OWIN Startup类的所有钩子是什么?关于这些的信息很少。
例如,每个Startup类的一个必需钩子是它应该有Configuration
方法。可以从Microsoft documentation收集此信息。
class Startup
{
public void Configuration(IAppBuilder appBuilder)
{
...
}
}
不框架中有IOwinStartup
接口或OwinStartup
基类背后的理由是什么?
interface IOwinStartup
{
void Configuration(IAppBuilder appBuilder);
}
如何为基于OWIN的应用程序执行清理? OWIN是否在Startup类上检测到Dispose
方法,类似于它检测Configuration
方法的方法?
经过大量的搜索,我发现了这个相关的问题:In self-hosted OWIN Web API, how to run code at shutdown?目前尚不清楚回答这个问题的人是如何获得必要信息的。我是否缺少关键文档,或者OWIN Startup类的这些细节看起来难以捉摸?
答案 0 :(得分:4)
这不是一个“钩子”,因为它是一个惯例。这里有一篇很好的文章:
http://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection
至于为什么没有界面,很可能是因为没有必要将其锁定到该级别。这主要是基于反射的,您可以通过各种配置参数指定用于启动的类和方法。
对于链接到的示例中的WebAPI,可以在WebApp.Start方法中执行此操作,并使用要使用的方法的名称指定StartOptions,但约定是Configuration。
可以通过获取取消令牌来完成清理。此信息位于文档中,该文档与您显示的示例相关联。我不确定我是否理解你是如何得出文件缺失的结论,当它显然不是。
当然,它缺少详细说明和例子......但是有很多关于这些内容的博客文章......
您可能还想阅读OWIN规范: