C# 如何知道何时将响应发送到客户端?

C# 如何知道何时将响应发送到客户端?,c#,asp.net-mvc,web-services,asp.net-web-api,C#,Asp.net Mvc,Web Services,Asp.net Web Api,我有一个Web API Web方法,它返回xml格式的事件列表: public IList<Event> GetAllEvents() { ... } public class Event { public string Name { get; set; } public int Id { get; set; } } public IList GetAllEvents() { ... } 公开课活动 { 公共字符串名称{get;set;} 公共int Id{ge

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

public IList<Event> GetAllEvents()
{
...
}

public class Event
{
    public string Name { get; set; }

    public int Id { get; set; }
}
public IList GetAllEvents()
{
...
}
公开课活动
{
公共字符串名称{get;set;}
公共int Id{get;set;}
}
客户端可能发送GET请求并接收100个事件,这些事件将被序列化,因此发生的情况是:

  • 请求由GetAllEvents方法接收
  • 数据由该方法提供
  • Web API引擎将对象序列化为xml
  • Web API引擎将序列化数据(可能是5MB)发送到客户端
整个过程可能需要5秒钟

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


如何实现这一点?

您在这里想要实现什么

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


对于ObjectContents,默认情况下,承载层的Web API“缓冲”整个响应,然后再开始通过线路发送此缓冲数据。

谢谢,我的意思是如何知道缓冲区何时已发送到客户端?我想知道整个过程需要多长时间,特别是当有大量数据时,例如20MB。