【发布时间】:2016-01-28 21:52:23
【问题描述】:
我在 ASP.NET WebApi2 设置中使用 OWIN 时遇到了一些困难。重启后的第一个请求导致异常:
[ObjectDisposedException:无法访问已处置的对象。 对象名称:'System.Net.Http.HttpMessageInvoker'。] System.Net.Http.HttpMessageInvoker.CheckDisposed() +327456 System.Net.Http.HttpMessageInvoker.SendAsync(HttpRequestMessage request, CancellationToken cancelToken) +24 System.Web.Http.Owin.我已通过 webapi 项目和以下 OWIN 启动(并且没有 global.asax)以简化形式重现了该问题:
public class Startup
{
public void Configuration(IAppBuilder app) {
var config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
// ---- simulate long running initialization code -------
Thread.Sleep(3000);
// ------------------------------------------------------
app.UseWebApi(config);
}
}
我添加了一个控制器:
[Route("api/test/number")]
public class TestController : ApiController
{
public object Get() {
return 42;
}
}
当我请求这个时,第一个请求会导致异常。
【问题讨论】:
-
我也有同样的问题。也许如果没有人回应,应该报告给asp.net团队?
-
我也遇到了同样的异常。我认为这是一个错误。
标签: asp.net asp.net-web-api2 owin