CallbackEventHandler可以向客户端发送多个响应吗?

时间:2010-09-30 16:46:29

标签: c# multithreading asp.net-ajax callback

我已经实现了ICallbackEventHandler来处理从浏览器的javascript发送的数据。 (用户单击某些内容,导致eventArgument被发送到服务器。服务器调用服务以获取有关该值的信息。) 到目前为止,一切都很好,但我实际上需要使用相同的eventArgument调用三个不同的服务。根据每个服务响应的时间/时间,需要将其结果发送到浏览器以增加显示。 我正在考虑为每个服务请求创建一个线程。当/如果它响应,那么我也将这些结果发送到浏览器。

实现这一目标的好方法是什么?

//ICallbackEventHandler implementation 
public void RaiseCallbackEvent(String eventArgument)
{
   returnValue = GetDataFromService1(eventArgument);
}

public String GetCallbackResult()
{
   return returnValue;
}

1 个答案:

答案 0 :(得分:0)

实现这一点的最简单方法是在浏览器中实现javascript,轮询每个服务的结果,因为每个服务可能会在不同的时间返回。

另一个选项可能是.NET的Reactive Extensions(Rx)。 Rx使用在.NET中实现的Observable集合向浏览器提供“推送”通知,并“发送”到javascript。