在 ASP.NET Web API 中重新启动服务
Reinitialize service in ASP.NET Web API
我在自托管 (OWIN) ASP.NET Web API:
中部署了我的服务
config.Services.Replace(typeof(IHttpControllerTypeResolver), new MyHttpControllerTypeResolver());
由于底层系统发生了一些变化,我想重新初始化服务(单例;MyHttpControllerTypeResolver
的实例)。这可能吗?
在不了解您的应用程序结构的情况下,我假设您发布的代码行位于一个名为 Configuration
的方法中,该方法属于一个名为 class 的 Startup
(或类似), 某处某处正在呼叫 WebApp.Start<Startup>(...)
.
Configuration
是 WebApp.Start
将查找和调用的 "magic" 方法名称。 WebApp.Start
returns 一个 IDisposible
。为了重新初始化,您需要在某个变量中捕获 IDisposible
(我们称之为 app
),调用 app.Dispose()
,然后再次调用 WebApp.Start
.
我在自托管 (OWIN) ASP.NET Web API:
中部署了我的服务config.Services.Replace(typeof(IHttpControllerTypeResolver), new MyHttpControllerTypeResolver());
由于底层系统发生了一些变化,我想重新初始化服务(单例;MyHttpControllerTypeResolver
的实例)。这可能吗?
在不了解您的应用程序结构的情况下,我假设您发布的代码行位于一个名为 Configuration
的方法中,该方法属于一个名为 class 的 Startup
(或类似), 某处某处正在呼叫 WebApp.Start<Startup>(...)
.
Configuration
是 WebApp.Start
将查找和调用的 "magic" 方法名称。 WebApp.Start
returns 一个 IDisposible
。为了重新初始化,您需要在某个变量中捕获 IDisposible
(我们称之为 app
),调用 app.Dispose()
,然后再次调用 WebApp.Start
.