日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WCF自托管應(yīng)用技巧講解

WCF是一個比較重要的.NET Framework 3.5組成部件,它的應(yīng)用在實(shí)際開發(fā)中起著非常重要的作用。在這里我們將會為大家詳細(xì)講解一下其中WCF自托管的相關(guān)概念,希望能夠給大家?guī)硪恍椭?t#

我們一般創(chuàng)建的是以IIS為宿主的,所以我們平常在VS2008中創(chuàng)建的項(xiàng)目,都是IIS托管的。

但是,WCF還有另一種托管方式,稱為WCF自托管(Self-Hosting)。

說得深奧些,就是Client和Service共用一個進(jìn)程。說得通俗些,就是把Client項(xiàng)目和Service項(xiàng)目合二為一,比如說這個Demo:

C:\Users\baoj\Documents\Visual Studio 2008\Projects\WCFSolution。

Demo中一共3個文件,Contract.cs和App.config組成了Service,前者包括了契約及其實(shí)現(xiàn),后者包括了Service的Endpoint,請下載上面的代碼并參考相應(yīng)文件。

而Program.cs中則是一個Client,我們看一下這個宿主是怎樣實(shí)現(xiàn)的:

class Program { static void Main(string[] args) { using (ServiceHost host = new ServiceHost(typeof(Service))) { host.Open(); Console.WriteLine("The Service is ready."); Console.ReadKey(true); host.Close(); } }}

這是宿主的最普遍實(shí)現(xiàn)。

我們發(fā)現(xiàn),WCF自托管沒有svc文件,可見,svc只是為IIS托管而準(zhǔn)備的。如果哪天你看到一個沒有svc的WCF Service,不要驚訝,不過是一個自托管罷了。

此外,由于把Client和Service放在一起,所以只需要配置Service的Endpoint就可以了。就是說,只有一個配置文件。

但是,在WCF自托管中,把契約(contract)和Client寫在一起,是很亂的——瞧人家IIS托管,丁是丁卯是卯,Service和Client完全是分開的。于是,VS2008為我們提供了WCF Service Library這個項(xiàng)目模板,來解決這個問題:

于是我們創(chuàng)建這樣的一個項(xiàng)目,我們發(fā)現(xiàn),項(xiàng)目中只包括契約和配置文件。

接下來就靈活了,我們可以添加一個Console控制臺程序ConsoleApplication1,然后添加對WcfServiceLibrary2的引用(注意是項(xiàng)目引用,而不是Service引用),參考下面的示例:

C:\Users\baoj\Documents\Visual Studio 2008\Projects\WcfServiceLibrary2C:\Users\baoj\Documents\Visual Studio 2008\Projects\WcfServiceLibrary2

需要注意的是,我們要把WcfServiceLibrary2中的App.config轉(zhuǎn)移到ConsoleApplication1項(xiàng)目中,不需要說原因了吧~~

切記,轉(zhuǎn)移的意思是是cut,而不是copy。要確保WcfServiceLibrary2中沒有這個配置文件,不然就會報(bào)錯,說已經(jīng)占用這個地址了。


標(biāo)題名稱:WCF自托管應(yīng)用技巧講解
分享鏈接:http://www.dlmjj.cn/article/dpjcicg.html