猿问

WCF的回调能够异步调用么?

目前开发的一个WCF服务端,里面有回调客户端的功能,但是如果客户端卡住的话,就会连服务端一起卡在那里,想问问大家,服务端可以异步回调客户端的方法么?

摇曳的蔷薇
浏览 368回答 2
2回答

不负相思意

可以,和服务端异步契约定义是一样的,如下:    public interface IMarketFeedServiceCallback    {        [OperationContract(Action = "Notify", IsOneWay = true)]        void Notify(StockQuote stockQuote);        [OperationContract(Action = "Notify", AsyncPattern = true, IsOneWay = true)]        IAsyncResult BeginNotify(StockQuote stockQuote, AsyncCallback callback, object state);        void EndNotify(IAsyncResult ar);    }回调的时候,你就可以使用 BeginNotify来异步调用.

九州编程

你这个设计有问题啊。服务端怎么可以回调客户端呢?服务端原则上是和客户端是两回事。服务端不知道有没有客户端存在。不知道客户端的系统。不知道客户端的事情。你这个设计违反了规则。服务端是被调用端,是接受调用的,返回数据用的。不是主动调用别人用的。
随时随地看视频慕课网APP
我要回答