1

在桌面客户端/自托管服务器 ServiceStack 应用程序中处理客户端断开连接的正确方法是什么,以便能够跟踪客户端未收到响应的时间?我的客户端在服务器上发送一个需要一些时间的请求,然后在收到响应之前断开连接(例如,超出 wifi 覆盖范围)。我通过在等待来自服务器的长时间处理响应时杀死客户端来模拟它。

使用标准 JSON 客户端不会引发错误,但如果可能,我想拦截断开连接。

使用 protobuf-net 会在此处引发 Unhandled HttpListenerException:

appHost.ContentTypeFilters.Register(ServiceStack.Common.Web.ContentType.ProtoBuf, (reqCtx, res, stream) => ProtoBuf.Serializer.NonGeneric.Serialize(stream, res), ProtoBuf.Serializer.NonGeneric.Deserialize);
HttpListenerException

我想知道如何拦截它(在哪里放置 try/catch)。在这里吗?在注册?

谢谢!

4

0 回答 0