什么是所有的钩子在自己的启动类?关于这些问题的资料很少。
例如,每个Startup类都需要一个钩子,即它应该有一个Configuration方法。这些信息可以从Microsoft文档中收集。
class Startup
{
public void Configuration(IAppBuilder appBuilder)
{
...
}
}在框架中没有IOwinStartup接口或OwinStartup基类的原因是什么?
interface IOwinStartup
{
void Configuration(IAppBuilder appBuilder);
}如何对基于自己的应用程序执行清理?OWIN是否检测启动类上的Dispose方法,类似于它如何检测Configuration方法?
经过大量的搜索,我发现了一个相关的问题:在自托管的OWIN中,如何在关闭时运行代码?,还不清楚回答这个问题的人是如何得到必要的信息的。我是否遗漏了关键文档,或者说这些关于OWIN Startup类的细节是否像它们看上去那样难以捉摸?
发布于 2014-12-05 07:40:16
与其说这是一个“钩子”,不如说它是一个惯例。这里有一篇很好的文章:
http://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection
至于为什么没有接口,很可能是因为没有必要将其锁定到那个级别。这在很大程度上是基于反射的,您可以通过各种配置参数指定用于启动的类和方法。
对于链接到的示例中的WebAPI,可以在WebApp.Start方法中这样做,并使用要使用的方法的名称指定StartOptions,但约定是配置。
清理可以通过获取取消令牌来完成。这些信息在文档中,这些文档与您展示的示例链接在一起。我不太明白你是如何得出结论的,即当文档显然不存在的时候,它是缺失的。
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
https://stackoverflow.com/questions/27308922
复制相似问题