OWIN吞下Nancy应用程序错误?

时间:2016-02-02 05:05:52

标签: .net .net-4.5 owin nancy

我有一个Nancy应用程序,我最近更新为使用OWIN / Katana。

出于某种原因,我的“真实”错误现在被隐藏了。

这是我收到的唯一一般错误:

  

通过等待任务或访问其Exception属性,未观察到任务的异常。结果,终结器线程重新抛出了未观察到的异常。

     

引起:HttpException·远程主机关闭了连接。错误代码是0x800704CD。   :0System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result,Boolean throwOnDisconnect)    :0System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()    :0System.Web.HttpResponse.Flush(Boolean finalFlush,Boolean async)    :0Microsoft.Owin.Host.SystemWeb.CallStreams.OutputStream.Flush()
   :0System.IO.StreamWriter.Flush(Boolean flushStream,Boolean flushEncoder)
   :0System.IO.StreamWriter.Dispose(布尔处理)
   :0System.IO.StreamWriter.Close()
   :0Newtonsoft.Json.JsonWriter.System.IDisposable.Dispose()
   :0Nancy.Serialization.JsonNet.JsonNetSerializer.Serialize(String contentType,TModel model,Stream outputStream)
   :0Nancy.Owin.NancyMiddleware +<> c__DisplayClasse.b__a(NancyContext context)
   :0System.Threading.Tasks.Task.Execute()

这不是真正的错误。由于某些原因,在我更新使用OWIN后,我的实际错误不再被记录。

我的OWIN启动只有app.UseNancy()(没有其他中间件)。

这是ApplicationStartup中的错误处理程序:

pipelines.OnError.AddItemToEndOfPipeline((context, exception) => OnError(container.Resolve<ILoggingService>(), context, exception));


private static Response OnError(ILoggingService loggingService, NancyContext context, Exception exception)
{
   // log something
}

我做错了什么?我现在必须编写自定义中间件来处理错误吗?

修改

对此进行更新。当它发生时,它实际上崩溃了我的网站/应用程序池。我在.NET 4.5上。

1 个答案:

答案 0 :(得分:0)

直接证明这不是Nancy / OWIN。

我正在使用的库(BugSnag)导致了问题。似乎它没有正确支持OWIN。所以我删除了该库,问题就停止了。