经常看到一些 比如(Owin.dll 、Hangfire.Core、SignalR 等)第3方 dll
没在配置文件里面配置、也没有在全局Global.asax 文件里面注册 调用
很多都是一些这样的
using Hangfire; using Hangfire.MemoryStorage; using Microsoft.Owin; using Owin; [assembly: OwinStartup(typeof(WebApplicationWebApiHangfireSample.Startup))] namespace WebApplicationWebApiHangfireSample { /// <summary> /// 演示Hangfire的配置 /// 作者:陈希章 /// </summary> public class Startup { public void Configuration(IAppBuilder app) { // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888 //指定Hangfire使用内存存储后台任务信息 GlobalConfiguration.Configuration.UseMemoryStorage(); //启用HangfireServer这个中间件(它会自动释放) app.UseHangfireServer(); //启用Hangfire的仪表盘(可以看到任务的状态,进度等信息) app.UseHangfireDashboard(); } } }
问题是他的入口在呢? 在哪里入口调用执行到了这里呢?(类似于一个调用的地方 从哪里开始 )
是因为这一句
[assembly: OwinStartup(typeof(WebApplicationWebApiHangfireSample.Startup))]吗?
约定俗成,就比如你上面的代码。OwinStartup attribute指定的类,里面有一个public void Configuration(IAppBuilder app) 就行。至于这个attribute如何激活的。那就是framework的事情了。
问的是:owin型web服务从哪里启动?