目前開發(fā)的一個WCF服務端,里面有回調客戶端的功能,但是如果客戶端卡住的話,就會連服務端一起卡在那里,想問問大家,服務端可以異步回調客戶端的方法么?
2 回答

不負相思意
TA貢獻1777條經驗 獲得超10個贊
可以,和服務端異步契約定義是一樣的,如下:
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來異步調用.

九州編程
TA貢獻1785條經驗 獲得超4個贊
你這個設計有問題啊。
服務端怎么可以回調客戶端呢?
服務端原則上是和客戶端是兩回事。
服務端不知道有沒有客戶端存在。不知道客戶端的系統(tǒng)。不知道客戶端的事情。你這個設計違反了規(guī)則。
服務端是被調用端,是接受調用的,返回數據用的。不是主動調用別人用的。
- 2 回答
- 0 關注
- 393 瀏覽
添加回答
舉報
0/150
提交
取消