2016-02-02 90 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。所以我刪除了該庫,問題停止了。