在 ASP.NET MVC6 上的何处添加初始化逻辑?

Where to add initialization logic on ASP.NET MVC6?

在 ASP.NET MVC6 上初始化诸如后台任务、资源预加载和其他应用程序逻辑之类的东西的推荐位置是什么?

我知道这可以在 Startup class 中调用,但令我困扰的是它与 IApplicationBuilderIServicesCollection 无关,所以看起来不合适。

我应该加回 Global.asax 并保持在 Application_Start 吗?

谢谢。

Startup绝对是做应用启动逻辑的地方。把那种东西放在构造函数中。 Configure 和 ConfigureServices 函数只是环境寻找的用于连接服务和中间件的特殊挂钩。这并不意味着这些挂钩是 Startup 的目的,只是那些是一种可能在那里被引导的东西。

我还建议您在适当的时候看看创建您自己的服务和中间件。您也许可以在那里实现您的一些目标。例如,您可以创建一个加载资源一次的单例服务,然后可以将其注入到需要访问这些资源的任何控制器中。