在MVC3和C#中发送响应之前检测丢弃的连接

时间:2012-12-19 14:14:11

标签: asp.net-mvc-3

我有一个MVC3应用程序,它处理传入的请求,更新数据库,并在需要时向请求者发送包含更多命令的响应。

在发送响应之前,MVC应用程序可以花多长时间限制,以便应用程序执行以下操作:

  1. 获取请求内容并将其存储在中间数据库中,以便稍后在单独的服务中进行处理。
  2. 检查数据库中是否有传出响应对象(只是纯文本行),如果存在,则将它们添加到响应中,并将它们标记为在数据库中发送。
  3. 在正文中发送响应和传出响应对象。
  4. 这一切都很好地工作,除非对象被标记为已发送,即使响应永远不会到达请求者,例如如果它在服务器处理期间断开连接。

    所以,基本上,有没有办法,比如使用动作过滤器,我可以在将更改提交给数据库并发回响应之前检查请求者连接的状态?

1 个答案:

答案 0 :(得分:0)

你可以做一些尝试和捕获吗?

try
{
   //Sends the response with and outgoing response objects in the body.
   //mark it as sent
}
catch
{
   //dont do anything as the "object" wont have been set a "sent" its gonna try the next time?
}

您还可以在发送/标记为已发送之前检查连接状态