小编And*_*rew的帖子

手动处理OWIN WebApp

我正在尝试在运行测试时使用OWIN自我主机Web API,我想启动它BeforeEach并停止AfterEach方法.

我发现的所有示例都建议使用using关键字,例如

using (WebApp.Start<Startup>(url: baseAddress)) 
{ 
   ...
} 
Run Code Online (Sandbox Code Playgroud)

但就我而言,它没有帮助.

我试着这样做:

private IDisposable _webApp;

public override void BeforeEach()
{
    _webApp = WebApp.Start<OwinStartup>("http://localhost:99999/");
}

public override void AfterEach()
{
    base.AfterEach();

    if (_webApp != null)
        _webApp.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,它调用类的Dispose方法,UnityResolver然后我得到stackoverflow...异常.

我该如何妥善处理OWIN主机?

c# unity-container asp.net-web-api owin asp.net-web-api2

6
推荐指数
1
解决办法
2363
查看次数