当前位置: 代码迷 >> Web Service >> WebService怎么异步返回
  详细解决方案

WebService怎么异步返回

热度:270   发布时间:2016-05-02 02:51:06.0
WebService如何异步返回?
我现在有这样一个架构,一个异步的IOCP Server(C++)作为服务器,然后一个WebService(C#),在Web客户端调用WebService提供的接口后,需要通过Socket接口从IOCPServer读取数据然后返回给Web客户端,问题是IOCP Server是异步的,那么WebService能不能做到在收到IOCP Server的返回后在将收到的数据发送给Web客户端呢?如果可以如何实现?不太明白WebService和Web编程请各位大侠指教???

------解决方案--------------------
参考

C# code
    messageWebServers.findMessageInfoCompleted += new findMessageInfoCompletedEventHandler(messageWS_findMessageCompleted);                messageWS.findMessageAsync(query, currPage, pageSize);   void messageWebServers_findMessageInfoCompleted(object sender, findMessageCompletedEventArgs e)        {            if (e.Error == null)            {                if (e.Result != null)                {                    if (e.Result.data != null)                    {}}}
------解决方案--------------------
webservice从iocpserver获取数据时,可以使用AutoResetEvent.WaitOne进行阻塞,当socket接收到数据后,执行AutoResetEvent.Set,然后返回结果。
或者webservice从iocpserver接收数据时,不采用异步接收,顺序执行connect、send、receive,直到返回socket接收的数据后返回结果。
也可以为web客户端编写插件或者使用silverlight直接与iocpserver通信,越过webservice。
  相关解决方案