新聞中心
本文主要講述WCF Service,怎樣創(chuàng)建WCF Service項目。這些內(nèi)容都是一些門戶網(wǎng)站和技術論壇找到的,中間可能有不少錯誤是我沒有挑出的,歡迎大家指正。

我們提供的服務有:網(wǎng)站設計、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、利辛ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的利辛網(wǎng)站制作公司
上一篇文章中,我們重點討論了線程關聯(lián)性對service和callback的操作執(zhí)行的影響:在service host的時候,可以設置當前線程的SynchronizationContext,那么在默認情況下,service操作的執(zhí)行將在該SynchronizationContext下執(zhí)行(也就將service操作包裝成delegate傳入SynchronizationContext的Send或者Post方法);#t#
同理,對于Duplex同行方式來講,在client調(diào)用service之前,如果設置了當前線程的SynchronizationContext,callback操作也將自動在該SynchronizationContext下執(zhí)行。
對于Windows Form Application來講,由于UI Control的操作執(zhí)行只能在control被創(chuàng)建的線程中被操作,所以一這樣的方式實現(xiàn)了自己的SynchronizationContext(WindowsFormsSynchronizationContext):將所有的操作Marshal到UI線程中。正因為如此,當我們通過Windows Form Application進行WCF Service的host的時候,將會對service的并發(fā)執(zhí)行帶來非常大的影響。
詳細講,由于WindowsFormsSynchronizationContext的Post或者Send方法,會將目標方法的執(zhí)行傳到UI主線程,所以可以說,所有的service操作都在同一個線程下執(zhí)行,如果有多個client的請求同時抵達,他們并不能像我們希望的那樣并發(fā)的執(zhí)行,而只能逐個以串行的方式執(zhí)行。
我們可以通過一個簡單的例子證明:在默認的情況下,當我們通過Windows Form Application進行service host的時候,service的操作都是在同一個線程中執(zhí)行的。我們照例創(chuàng)建如下的四層結(jié)構的WCF Service應用:
本文題目:進行WCF Service詳細解讀
URL地址:http://www.dlmjj.cn/article/dhiijhe.html


咨詢
建站咨詢
