|
Silverlight的RIA應(yīng)用中訪問遠(yuǎn)端的WebService或WCF服務(wù),都是通過異步線程模式調(diào)用的。在某些情況下我們的調(diào)用是需要同步進(jìn)行,雖然Silverlight沒有內(nèi)置同步線程模式調(diào)用遠(yuǎn)端服務(wù)接口,但是我們可以通過多線程的處理來偽裝出同步調(diào)用的實(shí)現(xiàn)。在.NET Framework的多線程編程中提供了豐富的線程接口,其中AutoResetEvent和ManualResetEvent在多線程編碼中最為常用,本文將介紹如何通過AutoResetEvent的線程等待特性實(shí)現(xiàn)Silverlight同步調(diào)用遠(yuǎn)端WCF服務(wù)。
一、定義WCF服務(wù)
為了演示同步調(diào)用WCF服務(wù)的實(shí)現(xiàn),提供一個簡單的WCF服務(wù)接口,完成返回一本圖書基本信息,WCF服務(wù)接口定義如下:
[ServiceContract]public interface IDataService
{
[OperationContract]
Book GetBook();
}
public class Book
{
public int ID { get; set; }
public string Name { get; set; }
public string Author { get; set; }
public double Price { get; set; }
}
NET技術(shù):Silverlight同步(Synchronous)調(diào)用WCF服務(wù),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。