ASP.NET应用程序初始化

时间:2016-11-15 08:09:16

标签: asp.net asp.net-mvc

在常规MVC应用程序中,Application_Start方法(和其他方法)不是虚拟的。因此,必须通过反射调用此方法,并且有som命名约定。但为什么他们这样选择呢?相反,我宁愿查看基类的虚方法,并选择一个覆盖。现在我必须去博士。为什么不在基类中声明甚至处理方法。

P.S。在新的ASP.NET Core中,Startup类甚至没有基类。

1 个答案:

答案 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方法中注册。