【发布时间】:2015-04-08 06:06:56
【问题描述】:
在 ASP.NET MVC6 上初始化后台任务、资源预加载和其他应用程序逻辑的推荐位置是什么?
我知道这可以在 Startup 类中调用,但困扰我的是它与 IApplicationBuilder 或 IServicesCollection 无关,所以它似乎不合适。
我应该只添加一个 Global.asax 并将其保留在 Application_Start 上吗?
谢谢。
【问题讨论】:
在 ASP.NET MVC6 上初始化后台任务、资源预加载和其他应用程序逻辑的推荐位置是什么?
我知道这可以在 Startup 类中调用,但困扰我的是它与 IApplicationBuilder 或 IServicesCollection 无关,所以它似乎不合适。
我应该只添加一个 Global.asax 并将其保留在 Application_Start 上吗?
谢谢。
【问题讨论】:
Startup 绝对是做应用程序启动逻辑的地方。把那种东西放在构造函数中。 Configure 和 ConfigureServices 函数只是环境寻找连接服务和中间件的特殊钩子。这并不意味着这些钩子是 Startup 的目的,只是这些钩子是一种可能会在那里被引导的东西。
我还建议在适当的时候看看创建自己的服务和中间件。你也许可以在那里完成你的一些目标。例如,您可以创建一个加载资源一次的单例服务,然后可以将其注入到任何需要访问这些资源的控制器中。
【讨论】: