久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

無廢話WCF入門教程一[什么是WCF]

 冷泉閣 2017-02-08

一,、概述

  Windows Communication Foundation(WCF)是由微軟發(fā)展的一組數(shù)據(jù)通信的應用程序開發(fā)接口,,可以翻譯為Windows通訊接口,,它是.NET框架的一部分。由 .NET Framework 3.0 開始引入,。

  WCF的最終目標是通過進程或不同的系統(tǒng)、通過本地網(wǎng)絡或是通過Internet收發(fā)客戶和服務之間的消息。

  WCF合并了Web服務,、.net Remoting、消息隊列和Enterprise Services的功能并集成在Visual Studio中,。

  WCF專門用于面向服務開發(fā),。

二、基于Asp.net 的應用程序開發(fā)與面向服務開發(fā)

wcf

  在基于Asp.net 的應用程序開發(fā)中,,我們由客戶機的瀏覽器訪問應用程序服務器,,然后通過應用程序服務器中的數(shù)據(jù)庫連接去連接數(shù)據(jù)庫服務器,讀取或是操作數(shù)據(jù),,有時候可能會多一個文件服務器,。大家可以觀察到,基本上所有的應用都放在了一臺服務器上,,但對于一個,,由于業(yè)務上的需要(如:與外部系統(tǒng)交互),一臺服務器很難支持所有的應用,。我們再看下面的圖:

wcf

  客戶機使用瀏覽器訪問服務器A,,服務器A為了業(yè)務需要與其他各種應用部署在服務器B、C,、D....再通過WCF技術互相通信,,相互訪問...然而面向服務的好處不僅僅在此,他還提供了不同語言不同操作系統(tǒng)的可交互性..由于本文不是介紹SOA的文章,,感興趣的同學可以參見:SOA

三,、第一個WCF程序

  1. 新建立空白解決方案,并在解決方案中新建項目,,項目類型為:WCF服務應用程序,。建立完成后如下圖所示:

wcf

  2.刪除系統(tǒng)生成的兩個文件IService1.cs與Service1.svc。

  3.添加自定義的WCF【服務文件】User.svc,,此時vs2010會自動生成WCF接口文件IUser.cs,,我們在IUser中定義WCF方法ShowName,在User.svc.cs對該接口的方法進行實現(xiàn),。

代碼如下:

復制代碼
1 using System.ServiceModel; 2 3 namespace WCFService 4 { 5 [ServiceContract] 6 public interface IUser 7 { 8 [OperationContract] 9 string ShowName(string name);10 }11 }12 13 14 namespace WCFService15 {16 public class User : IUser17 {18 public string ShowName(string name)19 {20 string wcfName = string.Format('WCF服務,,顯示姓名:{0}', name);21 return wcfName;22 }23 }24 }
復制代碼

  大家可以看到,在WCF中的接口與普通接口的區(qū)別只在于兩個上下文,,其他的和我們正常學習的接口一樣,。定義這個上下文要添加System.ServiceModel的引用。

[ServiceContract],,來說明接口是一個WCF的接口,,如果不加的話,,將不能被外部調用。

[OperationContract],,來說明該方法是一個WCF接口的方法,,不加的話同上。 

此時我們的第一個WCF服務程序就建立好了,,將User.svc“設為起始頁”,,然后F5運行一下試試,如下圖所示,,VS2010自動調用了WCF的客戶端測試工具以便我們測試程序:

  我們雙擊上圖中的 ShowName() 方法,,出現(xiàn)如下圖:

  在請求窗口中的值中輸入?yún)?shù)“你的姓名”,然后點擊“調用”,,在響應窗口中會出現(xiàn)返回值“WCF服務,,顯示姓名:你的姓名”,說明測試成功,,點擊下面的XML也可以看到XML的數(shù)據(jù)傳輸,。我們現(xiàn)在建立好了服務的應用程序和業(yè)務邏輯,即非常簡單的打印姓名的方法,,測試也成功了,。那么我們怎么用呢?

四,、場景

  我們設計的場景是在生產(chǎn)中經(jīng)常應用的場景,,把WCF程序寄宿在IIS之上。假設場景如下:A服務器和B服務器,。我們把我們剛剛建立的WCF程序“部署”在B服務器上(本教程的A,B服務器都放是我自己的一臺機器),我們的目標是在A服務器的應用程序來訪問B服務器的WCF程序,,實現(xiàn)服務器端的應用程序通訊,。

五、將WCF程序寄宿在B服務器的IIS之上

  首先我們將WCF應用程序發(fā)布一下,,然后部署在B服務器的IIS之上,,如下圖所示:

 

  鼠標右鍵瀏覽Uesr.svc,在游覽器中出現(xiàn)如下圖所示,,說明服務部署成功,。

   上圖中的http://localhost/User.svc?wsdl即為我們要引用的服務地址。

六,、在客戶端[A服務器]創(chuàng)建服務的引用

  我們這里以Web應用程序為例,,建立地物理地址為本機,但是大家可以想像成B服務器是遠程計算機,,localhost為一個其他的IP地址,。

  新建解決方案,,并且創(chuàng)建ASP.NET Web應用程序的項目。命名為:WCFClient,,如下圖所示:

 

  (1)新建Asp.net頁面,,命名為:WcfTest.aspx。

  (2)添加在第五步中部署的服務的引用,。如下圖所示:

wcf

  此時彈出添加服務引用的窗體,,如下圖所示:

  我們在地址里寫上我們寄宿在IIS上的WCF服務的地址服務路徑,此處為:http://localhost/User.svc?wsdl,,在名稱空間處填寫WCFService[此名稱空間要在下面的客戶端中引用]然后點擊“前往”-->“確定”按鈕,。此時我們完成了對服務的引用。我們再次查看解決方案,,里面多了Service References的文件夾,,通過資源管理器打開后里面多了些文件,這些文件用于客戶端向服務端的調用,,現(xiàn)在先不用管他,。

 、使用WCF服務端的方法

  WcfTest.aspx的代碼如下:

復制代碼
1 <%@ Page Language='C#' AutoEventWireup='true' CodeBehind='WCFTest.aspx.cs' Inherits='WCFClient.WCFTest' %> 2 3 '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd'> 4 'http://www./1999/xhtml'> 5 'server'> 6 7 8 9
'form1' runat='server'>10 'txtName' runat='server'>
11 'btnSubmit' runat='server' Text='測試WCF服務' OnClick='btnClick' />12
13 14 15 16 using System;17 using System.Collections.Generic;18 using System.Linq;19 using System.Web;20 using System.Web.UI;21 using System.Web.UI.WebControls;22 23 //引用WCF服務的名稱空間24 using WCFClient.WCFService;25 26 namespace WCFClient27 {28 public partial class WCFTest : System.Web.UI.Page29 {30 protected void Page_Load(object sender, EventArgs e)31 {32 33 }34 35 protected void btnClick(object sender, EventArgs e)36 {37 UserClient user = new UserClient();38 string result = user.ShowName(this.txtName.Text);39 Response.Write(result);40 }41 }42 }
復制代碼

  上面中的UserClient類是在添加引用的時候生成的服務端User類的客戶端代理類,,一般客戶端代理類名稱都會是**Client,。我們運行一下看下效果。

  通過以上的例子,,我們完成了由A服務器的應用向B服務器中WCF提供的方法的調用,。這個例子比較簡單,對于經(jīng)常開發(fā)B/S結構應用程序的同學們來說比較好理解,。

八,、說明:因為網(wǎng)上的入門教程比較少,本教程只做入門,,后面會繼續(xù)講些其他入門的東西,,深入的請看園子里:Artech 大哥的文章。

九,、代碼下載:

  10 WCF 教程

十,、版權

  轉載請注明出處:http://www.cnblogs.com/iamlilinfeng

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多