wcf 入門sample

來源:互聯網
上載者:User

原文連結:http://www.cnblogs.com/overblue/archive/2010/11/07/1871345.html

sample下載 

建立服務端函數

 

  “服務端函數”這個命名實在不規範,不過文章是給自己看的,就按自己的習慣進行命名吧。總而言之,我要在服務端建立一個服務函數,供用戶端進行調用。首先運行VS2010,選擇檔案 -> 建立 -> 項目。在建立項目視窗左邊的目錄中,選擇“WCF”,再在右邊選擇“WCF 服務應用程式”。項目名稱叫“WCFServer”、解決方案名稱為“WCFTest”:

 

  

 

  建立後,預設的介面和實現檔案,其檔案名稱預設Service1,不是十分規範,所以我們將檔案名稱和類名改命為CoreService。檔案名稱的更改直接在解決方案資源管理中直接改名就好了。但對類名的更改,應該使用F2重構功能變更。

 

  將類名和介面重新命名後,現在我們就需要增加自己的服務端函數了。在這個例子裡面,我們只是簡單地增加一個取服務端時間的函數:GetServerDateTime。首先開啟ICoreService.cs介面檔案,在最後增加一個服務端函數介面:

 

 

?
12 [OperationContract]DateTime GetServerDateTime();

 

 

接著,開啟CoreService.svc.cs檔案,在類的最後面增加如下代碼:

 

 

?
1234 public DateTime GetServerDateTime(){       return System.DateTime.Now;}

 

 

儲存項目,並運行應用程式後,程式會彈出一個“WCF測試用戶端”應用程式,在程式視窗的左邊,我們可以看到我們剛才增加的介面和對應的函數。這是我們首先要做的,就是將地址複製下來:

 

 

這個時間關閉程式就可以了。

 

三、建立用戶端調用程式

 

  通過“方案總管”,右鍵建立一個項目。在建立項目視窗左邊分類樹,選擇“Windows”,在右邊列表中選擇“Windows表單應用程式”,而項目名稱則為“WCFClient”,最後將WCFClient程式“設為啟動項目”。

 

  在WCFClinet的項目中,右鍵選擇“添加服務應用”菜單。

 

在彈出的“添加服務應用”視窗中,將之前複製到地址貼粘上去後再“確定”。確定無誤後,直接點“確定”就可以了。

 

 

到目前為止,所有的準備工作都已經可以了。下在我們編寫一段代碼來實現調用服務端函數的功能。首先我們在視窗上添加一個Label和一個Button控制項:

 

 

雙擊Button編寫如下代碼:

 

?
12345678910111213 using (ServiceReference1.CoreServiceClient Host = new ServiceReference1.CoreServiceClient())            {    //記錄開始時間    int StartTime = System.Environment.TickCount;     for (int i = 0; i < 1000; i++)    {        Host.GetServerDateTime();    }     //顯示執行時間    label1.Text = (System.Environment.TickCount - StartTime).ToString() + " ms";    Host.Close();
?
1 }

 

這樣就大功告成了!不過有一點比較奇怪,就是如果是第一次執行,它的速度總經正常調用慢1到2秒。但只要用戶端不是第一次進行串連,則速度是相當的快。好了,整個WCf例子完成了,不過WCF的宿主還不是一個單獨的應用程式,所以後面還會繼續精進。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.