例如,在一个全新的 ASP.NET MVC 5 应用程序中,使用 MVC with Individual Accounts 模板制作,如果我删除Global.asax.cs该类并将其配置代码移动到Startup.cs Configuration()如下方法,那么缺点是什么?
Global.asax.cs
Startup.cs
Configuration()
public partial class Startup { public void Configuration(IAppBuilder app) { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ConfigureAuth(app); } }
对我来说好处是,当将 ASP.NET 4 应用程序升级到 ASP.NET 5 并使用现在必须在 Startup.cs 类中配置的部分时,我没有在两个看起来相关的不同类中进行依赖注入和其他配置启动和配置。
Startup.Configuration 的调用比 Application_Start 稍晚一些,但我认为在大多数情况下差异并不重要。
我相信我们在 Global.asax 中保留其他代码的主要原因是:
我认为第三个原因是我们默认没有采用这种方法的最重要的原因,因为某些场景不包括拥有这个 DLL,并且能够更改身份验证方法而不会使无关代码的位置无效(比如路由注册)被放置。
但是,如果这些原因都不适用于您的场景,我认为您可以使用这种方法。