是否有可能知道HTTP响应何时到达客户端,在服务器中? (ASP.NET)

时间:2014-07-25 21:30:55

标签: c# asp.net web-services iis networking

快速提问(是的,我先用Google搜索,没有成功):我有一个ASP.NET简单的Web处理程序(那些.ashx文件),虽然我可以使用context.Response.Write()等,但我不知道似乎找不到一种方法来检测响应 - 实际到达客户端的时间。

有可能吗? TCP协议的同类内容,您可以知道包已成功发送。

提前致谢!

2 个答案:

答案 0 :(得分:1)

我不认为HTTP处理请求/响应中公开的消息的确认,并且我非常确定在页面内置的请求/响应对象中没有“开箱即用”支持控制器类。

您可能希望看到的是一个Web插槽库,如SignalR或SocketIO,它们都允许更加双向的通信,听起来更像您正在寻找的。

答案 1 :(得分:1)

这是不可能的,因为确认到达

  1. 总是延迟
  2. 永远不可靠(参见Generals Problem
  3. 由于(2)在假设可能有损网络的情况下,无法可靠地确定数据已到达。

    你可以设计一些足够好的东西。让客户端发出第二个HTTP呼叫,让服务器知道第一个呼叫的结果已到达。