freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

wcf分布式開發(fā)步步為贏(10)請求應(yīng)答(request-reply)、單向操作(one-資料下載頁

2025-07-07 12:09本頁面
  

【正文】 60。+name。}} 服務(wù)端獲取當(dāng)前操作客戶端對象實例 IWCFServiceCallBack callback = IWCFServiceCallBack()。()。執(zhí)行回調(diào)客戶端當(dāng)前實例方法。【】宿主: 宿主啟動和綁定節(jié)點配置和前面幾節(jié)講解的配置過程類似。這里配置的協(xié)議是TCP。配置文件代碼如下:servicebehaviorConfiguration=name=endpointaddress=://localhost:9004/WCFServicebinding=netTcpBindingcontract=/endpointendpointaddress=mexbinding=mexHttpBindingcontract=IMetadataExchange/hostbaseAddressesaddbaseAddress=://localhost:9003//addbaseAddress=://localhost:9004///baseAddresses/host/service【】客戶端: 運行服務(wù)托管宿主,客戶端添加服務(wù)引用,反序列化服務(wù)元數(shù)據(jù),如圖: 修改客戶端代碼,重新實現(xiàn)回調(diào)契約的操作方法,如下:[(,)]publicclassWCFServiceCallback:IWCFServiceCallback{publicvoidSayHelloCalllBack(){(ClientmethodisCallBacking)。}} 測試回調(diào)代碼,我們實例化一個回調(diào)類的實例,然后作為上下文實例的參數(shù)。最后把上下文作為參數(shù)實例化一個客戶端代理。具體代碼如下://CallBack回調(diào)服務(wù)(CallBackOperationTest)。callBack=new()。InstanceContextcontext=newInstanceContext(callBack)。WCFServiceCallBackClientProxy=new(context,NetTcpBinding_IWCFService)。//通過代理調(diào)用調(diào)用SayHelloToUser,傳遞對象((FrankXuLeiCallBack))?!尽窟\行結(jié)果: 這里的運行結(jié)果包括單向操作和回調(diào)操作結(jié)果,客戶端調(diào)用一個服務(wù)操作,服務(wù)操作再通過客戶端上下文實例引用調(diào)用客戶端操作。成功執(zhí)行回調(diào)操作。結(jié)果如圖:【5】總結(jié):(1)服務(wù)對回調(diào)的調(diào)用可能會產(chǎn)生死鎖。就是指當(dāng)回調(diào)的應(yīng)答消息也需要獲得與服務(wù)實例關(guān)聯(lián)的相同的鎖時,會導(dǎo)致死鎖。此時服務(wù)線程已經(jīng)被阻塞,服務(wù)操作正在等待回調(diào)操作執(zhí)行完畢,而回調(diào)操作卻又在等待服務(wù)釋放鎖。 解決死鎖的辦法:1將服務(wù)配置為允許多線程訪問,會增加服務(wù)開發(fā)者負(fù)擔(dān)。2將回調(diào)設(shè)置為重入(Reentrancy) //,繼承接口。實現(xiàn)服務(wù)契約定義的操作 [ServiceBehavior(ConcurrencyMode=)] public class WCFService : IWCFService {...} 。所謂“重入”,是指對同步域擁有獨占訪問權(quán)的線程A調(diào)用了同步域之外對象的方法,此時,另外的線程B若要訪問該同步域,則線程A將釋放對同步域的鎖,允許線程B進(jìn)入。直到線程B執(zhí)行完畢并釋放對同步域的鎖后,線程A將重新進(jìn)入該同步域。由于服務(wù)被配置為重入,則服務(wù)調(diào)用回調(diào)引用時會釋放鎖。然后將回調(diào)返回給客戶端,控制權(quán)則返回給服務(wù),服務(wù)會重入并重新獲取鎖。3將回調(diào)操作設(shè)置為單向操作( [OperationContract(IsOneWay=true)]//void SayHelloCalllBack()。)。此時,回調(diào)調(diào)用不會產(chǎn)生應(yīng)答消息,服務(wù)操作一旦執(zhí)行了回調(diào)操作,就會繼續(xù)執(zhí)行,回調(diào)對象不會爭用與服務(wù)實例關(guān)聯(lián)的鎖,從而解決了死鎖問題。(2)單調(diào)服務(wù)的回調(diào)問題需要考慮回調(diào)對象的引用存儲問題,因為每次調(diào)用結(jié)束都會釋放服務(wù)實例對象,客戶端的狀態(tài)也會丟失。(3)單例服務(wù)的問題是,猶豫所有的服務(wù)共享一個實例,而其生命周期的問題,回調(diào)的引用計數(shù)會增加。(4)回調(diào)契約的層級問題,一旦一個服務(wù)契約提供了回調(diào)契約的定義,其所有的子接口必須生命和其一致的回調(diào)契約。(5)NetTcpBinding和NetNamedPipeBinding綁定支持回調(diào)操作,并且和客戶端共享一個通道端口;具有可靠消息傳輸?shù)腤SHttpBinding需要維護(hù)連個端口有可能產(chǎn)生端口沖突,編程時值得注意。 以上就是本節(jié)的全部內(nèi)容,下一節(jié)我們會介紹WCF流操作的一些內(nèi)容,這里也值得學(xué)習(xí)。當(dāng)時也提到了流操作的概念。WCF框架也提供了流操作的支持,同樣值得我們學(xué)習(xí)。這里對大規(guī)模數(shù)據(jù)對象的操作和處理有重要作用,下一個準(zhǔn)備介紹一下。最后上傳本文的示例代碼供大家參考/Files/frank_xl/。 參考文章: WCF Services(4):MTOM消息傳輸優(yōu)化和文件上傳、下載,8 / 8
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1