2016-02-02 197 views
3

我有一个南希应用程序,我最近更新使用OWIN/Katana。南希应用程序错误被OWIN吞噬?

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

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

任务的异常(或多个)未观察到无论是等待在Task或访问其Exception属性。结果,未被观察到的异常被终结器线程重新抛出。

原因:HttpException·远程主机关闭连接。错误代码是0x800704CD。 :0System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(的Int32结果,布尔throwOnDisconnect) :0System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush() :0System.Web.HttpResponse.Flush(布尔finalFlush,布尔异步) :0Microsoft .Owin.Host.SystemWeb.CallStreams.OutputStream.Flush()
:0System.IO.StreamWriter.Flush(布尔flushStream,布尔flushEncoder)
:0System.IO.StreamWriter.Dispose(布尔处置)
:0System。 IO.StreamWriter.Close()
:0Newtonsoft.Json.JsonWriter.System.IDisposable.Dispose()
:0Nancy.Serialization.JsonNet.JsonNetSerializer.Serialize(S特林的contentType,TModel的模型,流的OutputStream)
:0Nancy.Owin.NancyMiddleware + <> c__DisplayClasse.b__a(NancyContext上下文)
: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上。

回答

0

原来这不是南希/ OWIN直接。

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