91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PDA訪問WCF實(shí)現(xiàn)重點(diǎn)在過程

作為一個(gè)開發(fā)領(lǐng)域的從業(yè)人員,我想,大家肯定是知道WCF這一由微軟公司開發(fā)的.NET Framework 3.5的重要組成部分。今天我們會(huì)為大家講解有關(guān)PDA訪問WCF的相關(guān)操作技巧,以此讓朋友們熟悉這一工具的應(yīng)用方式。

創(chuàng)新互聯(lián)專注于中大型企業(yè)的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計(jì)客戶上1000+,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注成都品牌網(wǎng)站建設(shè)和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長!

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

現(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;  

PDA訪問WCF步驟2、實(shí)現(xiàn)接口 

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

 
 
 
  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、啟動(dòng)服務(wù)端發(fā)布服務(wù)

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

 
 
 
  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();  
  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();  

PDA訪問WCF步驟4、檢查服務(wù)是否已發(fā)布 #t#

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

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

可以手動(dòng)寫這部分代碼,如果不想自己寫代理類,那就下載NETCFv35PowerToys.msi并安裝,然后“:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin”會(huì)有一個(gè)程序 NetCFSvcUtil.exe。通過cmd執(zhí)行“NetCFSvcUtil.exe http://localhost:8080/wcfService" ,\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin目錄下會(huì)出現(xiàn)生成的兩個(gè)文件 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,平臺(tái)根據(jù)具體項(xiàng)目情況決定,然后將上面創(chuàng)建的兩個(gè)文件加入到項(xiàng)目中

 
 
 
  1. WcfServcieClient service = new WcfServcieClient();//服務(wù)代理對(duì)象  
  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項(xiàng)目后運(yùn)行。

到這里一步后,就完成了PDA訪問WCF的所有操作。


新聞標(biāo)題:PDA訪問WCF實(shí)現(xiàn)重點(diǎn)在過程
網(wǎng)站URL:http://m.jiaoqi3.com/article/coposeo.html