And*_*rew 6 c# unity-container asp.net-web-api owin asp.net-web-api2
我正在尝试在运行测试时使用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主机?
正如 @drax 已经在评论中指出的那样 - 我的 dispose 实现是正确的。
问题在于我在 UnityResolver 类中的内部实现,该类是在OwinStartup课堂上启动的。
然而,我面临着与 Owin 的 OAuth 授权服务器相关的一些其他限制,因此我决定不要使我的代码过于复杂并放弃 Owin 的东西。最起码到现在。
| 归档时间: |
|
| 查看次数: |
2363 次 |
| 最近记录: |