自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PDA訪問WCF具體步驟淺析

開發(fā) 開發(fā)工具
我們今天將會為大家詳細介紹一下PDA訪問WCF的相關(guān)方法,在這里,大家可以通過本文介紹的內(nèi)容充分掌握這方面的應(yīng)用技巧。

WCF作為一個.NET Framework 3.5的重要組成部分,其功能非常強大,可以幫助開發(fā)人員實現(xiàn)許多功能。在這里我們就可以先來了解一下PDA訪問WCF的相關(guān)步驟,希望可以幫助大家掌握這方面的知識。

最近在做一個系統(tǒng),客戶端有兩種類型,有PC和PDA。為了能支持不同的平臺,并且復(fù)用業(yè)務(wù)邏輯,采用了WCF。PC及機部署的是WinForm的應(yīng)用程序,比較容易。現(xiàn)在通過一個簡單的PDA訪問WCF例子說一下PDA如何做,注重的是這個過程。

現(xiàn)在從最開始的服務(wù)創(chuàng)建開始:

1、創(chuàng)建服務(wù)接口、定義服務(wù)端和客戶端之間的數(shù)據(jù)傳輸類

 

  1. [ServiceContract]  
  2. public interface IWcfServcie  
  3. {  
  4. [OperationContract]  
  5. double Add(double x, double y);  
  6. [OperationContract]  
  7. DTO Create(string name, int age);  
  8. }  
  9. [DataContract]  
  10. public class DTO  
  11. {  
  12. [DataMember]  
  13. public string Name = string.Empty;  
  14. [DataMember]  
  15. public int Age = 0;  

 

2、實現(xiàn)接口

PDA訪問WCF的功能非常的簡單,一個是將兩個數(shù)加起來,一個是構(gòu)造一個DTO對象。

 

  1. public class WcfServcie : IWcfServcie  
  2. {   
  3. public double Add(double x, double y)  
  4. {  
  5. return x + y;  
  6. }  
  7. public DTO Create(string name, int age)  
  8. {  
  9. DTO obj = new DTO();  
  10. obj.Name = name;  
  11. obj.Age = age + 1;  
  12. return obj;  
  13. }  

 

3、啟動服務(wù)端發(fā)布服務(wù)

當(dāng)然PDA訪問WCF發(fā)布的方式很多,IIS、Windows Service和WinForm應(yīng)用程序等都可以作為發(fā)布WCF的宿主程序。這里為了簡單,我使用console程序進行發(fā)布。最關(guān)鍵的還是Uri和binding,如果想在PDA上調(diào)用wcf服務(wù),那么binding必須采用BasicHttpBinding,這點必須注意。

 

  1. Uri baseUri = new Uri("http://localhost:8080/wcfService");  
  2. using (ServiceHost wcfServiceHost = new ServiceHost
    (typeof(Service.WcfServcie), baseUri))  
  3. {  
  4. BasicHttpBinding binding = new BasicHttpBinding();  
  5. wcfServiceHost.AddServiceEndpoint(typeof(IWcfServcie), 
    binding, string.Empty);  
  6. ServiceMetadataBehavior behavior = wcfServiceHost.
    Description.Behaviors.Find
    <ServiceMetadataBehavior>();  
  7. if (behavior == null)  
  8. {  
  9. behavior = new ServiceMetadataBehavior();  
  10. behavior.HttpGetEnabled = true;  
  11. behavior.HttpGetUrl = baseUri;  
  12. wcfServiceHost.Description.Behaviors.Add(behavior);  
  13. }  
  14. else  
  15. {  
  16. behavior.HttpGetEnabled = true;  
  17. behavior.HttpGetUrl = baseUri;  
  18. }  
  19. wcfServiceHost.Open();  
  20. Console.Read();  

 

4、檢查服務(wù)是否已發(fā)布#t#

編譯后啟動服務(wù)端程序,使用“:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\WcfTestClient.exe”,可以檢查服務(wù)是否正常發(fā)布,當(dāng)然也可以使用IE。我一般使用WcfTestClient.exe,它可以針對每個方法做測試。

5、創(chuàng)建PDA訪問WCF服務(wù)代理類

可以手動寫這部分代碼,如果不想自己寫代理類,那就下載NETCFv35PowerToys.msi并安裝,然后“:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin”會有一個程序NetCFSvcUtil.exe。通過cmd執(zhí)行“NetCFSvcUtil.exe http://localhost:8080/wcfService" ,\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin目錄下會出現(xiàn)生成的兩個文件CFClientBase.cs和WcfServcie.cs,這就是服務(wù)的代理類。需要注意的是WcfServcie.cs中”public static System.ServiceModel.EndpointAddress EndpointAddress = new System.ServiceModel.EndpointAddress("http://localhost:8080/wcfService");“,將”localhost“改為服務(wù)端的Ip。

6、創(chuàng)建SmartSeviceProject,平臺根據(jù)具體項目情況決定,然后將上面創(chuàng)建的兩個文件加入到項目中

 

  1. WcfServcieClient service = new WcfServcieClient();//服務(wù)代理對象  
  2. private void button1_Click(object sender, EventArgs e)  
  3. {  
  4. this.textBox6.Text = service.Add(Convert.ToDouble(this.textBox1.Text), 
    Convert.ToDouble(this.textBox2.Text)).ToString();  
  5. }  
  6. private void button2_Click(object sender, EventArgs e)  
  7. {  
  8. DTO obj = null;  
  9. obj = service.Create(textBox4.Text, Convert.ToInt32(textBox3.Text));  
  10. textBox5.Text = string.Format
    ("Name is : {0} Age is : {1}", obj.Name, obj.Age);  

 

7、編譯SmartDevice項目后運行。打完,收工。以上就是對PDA訪問WCF的相關(guān)介紹。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2009-12-07 10:46:08

WCF框架

2010-08-06 13:04:25

思科路由器阻止訪問特定網(wǎng)站

2010-03-02 11:15:34

PDA訪問WCF

2011-01-26 11:05:12

思科認證

2010-07-02 09:48:58

2003 SNMP啟用

2009-01-30 21:56:00

2010-08-02 17:08:34

Flex Eclips

2010-10-08 11:29:24

JavaScript對象

2010-06-21 17:05:00

Linux Arch

2010-09-25 16:30:25

DHCP選項設(shè)置

2009-09-03 14:49:49

C#實現(xiàn)網(wǎng)絡(luò)點對點

2010-06-22 16:05:40

Autoconf rp

2010-09-26 10:38:37

JVM安裝Tomcat

2010-04-08 17:51:05

Oracle表列

2010-06-08 18:59:03

OpenSUSE li

2010-09-03 11:53:09

華為DHCP配置

2011-04-07 14:53:18

路由器局域網(wǎng)寬帶路由器

2010-01-12 11:55:10

VB.NET網(wǎng)絡(luò)監(jiān)控

2013-06-19 09:51:32

vSphere服務(wù)器虛擬化

2014-06-03 17:19:24

路由器IS-IS
點贊
收藏

51CTO技術(shù)棧公眾號