使用JSON或protobuf-net时如何处理客户端与服务器的断开连接

时间:2013-06-20 10:24:32

标签: c# servicestack protobuf-net

在桌面客户端/自托管服务器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放在哪里)。在这里吗?在注册?

谢谢!

0 个答案:

没有答案