在常规MVC应用程序中,Application_Start方法(和其他方法)不是虚拟的。因此,必须通过反射调用此方法,并且有som命名约定。但为什么他们这样选择呢?相反,我宁愿查看基类的虚方法,并选择一个覆盖。现在我必须去博士。为什么不在基类中声明甚至处理方法。
P.S。在新的ASP.NET Core中,Startup类甚至没有基类。
答案 0 :(得分:1)
在以前的应用程序中,“条目”不是从托管的.NET代码调用的,命名约定是最直接的方式,想象static void Main
。
对于ASP.NET核心应用程序,该条目为Main
方法,您可以使用.UseStartup
扩展名IWebHostBuilder
方法指定启动类。 IStartup
没有约束,因为它的签名可以更改,例如:
public void Configure(IApplicationBuilder app)
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
public void Configure(IApplicationBuilder app, IEmailService emailService)
参数由IServiceProvider
解决,在ConfigureServices
方法中注册。