日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WCF-001:WCF的发布

發(fā)布時間:2025/3/15 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WCF-001:WCF的发布 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? 隨著“云”時代的到來,“云”已經(jīng)無處不在了。什么是“云”,無非就是利用互聯(lián)網(wǎng)強大的功能建立多個服務(wù)器,然后再利用互聯(lián)網(wǎng)的傳輸數(shù)據(jù)的特點將數(shù)據(jù)從某個服務(wù)器中讀取出來或者將你的數(shù)據(jù)上傳上去。當然這個服務(wù)器不是一定就是傳統(tǒng)意義的服務(wù)器,具備服務(wù)器功能的個人電腦也算是服務(wù)器。
所以在編程中服務(wù)的作用越來越大了,.net從2.0的webservice,到3.5之后的WCF,服務(wù)的功能越來越強了。現(xiàn)在先從簡單的看起,先看看WCF服務(wù)的發(fā)布。
環(huán)境:
系統(tǒng):windows 7
編程工具:visual studio 2010
.net 版本:4.0
一、創(chuàng)建一個WCF服務(wù)。
1、新建wcf項目,如圖:

2、建好后,手動增加幾個類,如圖:

3、實現(xiàn)服務(wù)接口,創(chuàng)建序列化的數(shù)據(jù)類。
也就是本項目中的IService1.cs、Service1.svc和Person類,注意Person類中的 [DataContract]和[DataMember]這就不用說了,網(wǎng)絡(luò)傳輸數(shù)據(jù)類必須要序列化。還有就是IService1中的[ServiceContract]和[OperationContract],這都是標準模式,只有這樣寫遠程客戶端才能訪問的到服務(wù)的方法。
寫兩個簡單的測試方法:所有代碼如下,
(1)、方法都是寫在服務(wù)接口中的

[ServiceContract]public interface IService1{[OperationContract]string GetData(int value);[OperationContract]Person GetDataUsingDataContract();}

(2)、實現(xiàn)接口中的方法

public class Service1 : IService1{public string GetData(int value){return ServiceProvider.GetData(value);}public Person GetDataUsingDataContract(){return ServiceProvider.GetDataUsingDataContract();}}

(3)、必要的時候創(chuàng)建類,用于保存數(shù)據(jù)什么的

[DataContract]public class Person{private string id = string.Empty;private string name = string.Empty;[DataMember]public string ID{get { return this.id; }set { this.id = value; }}[DataMember]public string Name{get { return this.name; }set { this.name = value; }}}

具體的實現(xiàn)方法可以都寫在Service1中,為了代碼能看的清楚一些,放在另一個類中用靜態(tài)方法實現(xiàn)。還有一些其他方法的類。
??

public class Common{public static string ToFormatGuid(string guid){if (string.IsNullOrEmpty(guid)){return string.Empty;}return guid.Replace("-", "");}}public class ServiceProvider{public static string GetData(int value){return string.Format("You entered: {0}", value);}public static Person GetDataUsingDataContract(){Person composite = new Person();try{composite.ID =Common.ToFormatGuid(Guid.NewGuid().ToString());composite.Name = DateTime.Now.ToString("yyyyMMdd");}catch { }return composite;}}

另外這個Web.config文件,是保存一些默認屬性,比如如果有用到數(shù)據(jù)庫這里就保存數(shù)據(jù)庫連接。還有如果想設(shè)置一些配置可以手動創(chuàng)建一個App.config,用法就不說了。
好了到此,一個簡單的WCF服務(wù)就創(chuàng)建好了。
代碼下載: http://download.csdn.net/detail/yysyangyangyangshan/5691643
二、如何發(fā)布
1、簡單的測試
創(chuàng)建好了WCF服務(wù),直接F5運行吧。會在你的瀏覽器中彈出如下,



圖中的http://localhost:2303/Service1.svc?wsdl就是你的服務(wù)的url,可以直接在本地測試。
創(chuàng)建一個客戶端測試工程。
需要“添加服務(wù)引用”,將這個url添加。這很簡單就不用給圖了。給這個引用的服務(wù)命名:LocalRunService,如圖,

調(diào)用:
? ? ? ? ?

//直接F5運行//服務(wù)url:http://localhost:2303/Service1.svc?wsdlusing (LocalRunService.Service1Client sclient = new LocalRunService.Service1Client()){string data = sclient.GetData(2);Console.WriteLine(data);TestMyWCFClient.LocalRunService.Person p = sclient.GetDataUsingDataContract();string pcontent = string.Format("ID:{0}{1}Name={2}", p.ID,Environment.NewLine, p.Name);Console.WriteLine(pcontent);Console.ReadLine();}

結(jié)果:

2、正式發(fā)布
//待續(xù)





轉(zhuǎn)載于:https://www.cnblogs.com/dyllove98/p/3170120.html

總結(jié)

以上是生活随笔為你收集整理的WCF-001:WCF的发布的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。