如何知道何时响应已完成发送到客户端

本文关键字:客户端 已完成 何知道 何时 响应 | 更新日期: 2023-09-27 18:12:12

我有一个Web API Web方法,它返回xml中的事件列表:

public IList<Event> GetAllEvents()
{
...
}
public class Event
{
    public string Name { get; set; }
    public int Id { get; set; }
}

客户端可以发送一个GET请求并接收100个事件,这些事件将被序列化,因此发生的情况是:

  • 请求被GetAllEvents方法接收
  • 数据由方法提供
  • Web API引擎序列化对象到xml
  • Web API引擎发送序列化的数据(例如5MB)到客户端

整个过程可能需要5秒。

我希望能够记录Web API引擎完成向客户端发送序列化数据的时间。

如何实现这一点?

如何知道何时响应已完成发送到客户端

你想达到什么目的?

基于操作的返回类型,Web API创建一个名为ObjectContent的内容使用格式化器序列化响应。

对于ObjectContents,默认情况下,Web API托管层在开始通过网络发送这些缓冲数据之前'缓冲'整个响应。