wcf简单的创建和运用
創建一個控制臺應用程序,命名為wcftest,并在同一解決方案中添加一個wcf服務應用程序
在wcf項目中會自動生成Service1.svc服務程序文件和IService1.cs契約接口
IService1.cs
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text;namespace WcfService1 {// 注意: 使用“重構”菜單上的“重命名”命令,可以同時更改代碼和配置文件中的接口名“IService1”。 [ServiceContract]public interface IService1{[OperationContract]string GetData(int value);// TODO: 在此添加您的服務操作 }}服務類必須要添加[ServiceContract]特性,方法要添加[OperationContract]特性,這樣才能被客戶端調用,wcf服務需要這幾個特性來制定服務契約,規定wcf消息交換模式和消息的格式等
?
Service1.svc
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text;namespace WcfService1 {// 注意: 使用“重構”菜單上的“重命名”命令,可以同時更改代碼、svc 和配置文件中的類名“Service1”。// 注意: 為了啟動 WCF 測試客戶端以測試此服務,請在解決方案資源管理器中選擇 Service1.svc 或 Service1.svc.cs,然后開始調試。public class Service1 : IService1{public string GetData(int value){return string.Format("You entered: {0}", value);}} }測試用,所以我只保留了GetData方法
現在服務和項目在同一解決方案中,可以直接引用服務,添加服務引用,點擊發現,就能看到創建的wcf
添加服務(服務修改后要重新生成一下,不然可能會報錯)
調用服務
客戶端wcftest中的程序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace wcftest {class Program{static void Main(string[] args){ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();Console.WriteLine(client.GetData(1));Console.ReadKey();}} }程序輸出結果
結果出來了,證明wcf是可以用的,現在把wcf部署到iis上
打開iis,創建一個應用程序池,取名wcfpool
然后添加一個空網站,程序池選擇剛剛建立的wcfpool,用戶名為wcfservice,物理地址指向一個空文件夾
因為在本機上,所以主機位localhost,也可以填上本機的ip地址
在隨便找個路徑創建一個WcfTest的文件夾,在文件夾中放入剛才創建的wcf應用程序的Service1.svc服務程序文件和IService1.cs契約文件還有web.config配置文件
在WcfTest中再創建一個bin文件夾,放入剛才創建的wcf應用程序的bin目錄下的WcfService1.dll文件
在iis中的wcfservice網站上創建一個應用,名稱為wcftest,物理路徑為剛創建的WcfTest文件夾
然后可以在iis中看到生成了相應的應用程序,右鍵瀏覽Service1.svc
如果在瀏覽器中出現如下結果
說明wcf已經成功部署到iis了,再看一下瀏覽器的地址欄,是不是跟我們配置的網站的路徑一樣,主機localhost 應用wcftet下的Service1.svc
如果主機名輸入域名,再輸入本機ip,則可以通過域名www.xxxx.com的方式訪問
在內網的話也可以用本機的內網ip ,地址將會是http://xxx.xxx.xxx.xxx/wcftest/Service1.svc
?
現在算是把wcf部署到服務器端了,然后就是創建一個客戶端訪問試一下,同樣創建一個控制臺程序,然后添加服務引用,地址填上剛才的瀏覽器地址
能找到wcf,然后再試用一下,依然可以成功調用
?
總結:初步了解wcf,依然有很多不明白的,比如說wcf的契約,綁定,消息,安全,元數據等
?
轉載于:https://www.cnblogs.com/fuhai/p/5220045.html
總結
以上是生活随笔為你收集整理的wcf简单的创建和运用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: winform 后台线程更新UI
- 下一篇: FREE 开源 API 管理工具等