【问题标题】:Nancy application error being swallowed by OWIN?Nancy 应用程序错误被 OWIN 吞噬?
【发布时间】:2016-02-11 16:42:16
【问题描述】:

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

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

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

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

原因: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(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 上下文)
: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 上。

【问题讨论】:

    标签: .net .net-4.5 owin nancy


    【解决方案1】:

    原来这不是 Nancy/OWIN 直接的。

    我使用的一个库 (BugSnag) 引起了问题。似乎它不正确支持 OWIN。所以我删除了那个库,问题就停止了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      • 1970-01-01
      • 2014-11-18
      • 2019-02-24
      相关资源
      最近更新 更多