中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么理解ASP.NET應用程序的WCF服務

發布時間:2021-10-28 10:49:47 來源:億速云 閱讀:106 作者:柒染 欄目:編程語言

怎么理解ASP.NET應用程序的WCF服務,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

ASP.NET應用程序添加WCF服務

現在,我們來學習如何在前面的ASP.NET網站中添加一個支持AJAX功能的WCF服務。為此,請右擊上面的示例網站AJAXWCFTest1并選擇“Add New Items…”,在隨后出現的“Add New Items”對話框中選擇“AJAX-Enabled WCF Service”模板添加一個新的WCF服務并命名為TimeService。

怎么理解ASP.NET應用程序的WCF服務

通過上面的操作后,你會發現Web網站中添加了一個服務端點(即timeservice.svc)以及與之相聯系的位于文件夾App_Code下的 Code-behind文件timeservice.cs。此外,還注意到,配置文件web.config也被修改以便為剛剛創建的WCF服務提供相應的注冊和發現信息。

現在創建的這個TimeService類中已經隱含地描述了所定義WCF服務的契約及其顯式實現。注意,其中的ServiceContract和OperationContract屬性承擔了與以前的WCF版本編程中同樣的角色。另外,為了簡化起見,在此沒有使用接口定義契約。

using System;  using System.Runtime.Serialization;  using System.ServiceModel;  using System.ServiceModel.Activation;  using System.ServiceModel.Web;   [ServiceContract (Namespace = "Samples.Services")]  [AspNetCompatibilityRequirements(  RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]  public class TimeService  ...{  [OperationContract]  public DateTime GetTime()  ...{  return DateTime.Now;  }  [OperationContract]  public string GetTimeFormat(string format)  ...{  return DateTime.Now.ToString(format);  }  }

注意到,上面的TimeService類共暴露了兩個公共端點,分別是GetTime和GetTimeFormat。
到達上面接口中方法的端點定義于一個SVC文件中。下面給出了文件timeservice.svc的內容:

<%@ ServiceHost Language="C#" Debug="true" Service="TimeService" CodeBehind="~/App_Code/TimeService.cs" %>

這個服務宿主(ServiceHost)指明了實現該服務使用的語言以及相應的源文件的位置,***通過Service屬性標識所使用的契約名字。
在正式開始測試這個服務前還有***一項工作就是在宿主ASP.NET應用程序的配置文件web.config中注冊上面這個WCF服務。下面展示了配置文件web.config中的相關配置節的內容:

<system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="TimeServiceAspNetAjaxBehavior"> <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> <services> <service name="TimeService"> <endpoint address="" behaviorConfiguration="TimeServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="TimeService" /> </service> </services> </system.serviceModel>

注意,上面的配置內容是隨著WCF服務的創建由系統自動生成的。

在此,首先針對前面WCF服務中的所有端點注冊一個行為列表。通過這種方式,為WCF服務TimeServiceAspNetAjaxBehavior定義了一個行為并且指出它使用客戶端腳本經由HTTP Web協議接受請求。從邏輯上分析,上面的enableWebScript元素與ASP.NET Web服務中用于修飾Web服務類的ScriptService屬性是一致的。

然后,需要枚舉宿主于當前ASP.NET應用程序中的所有WCF服務。注意,上面的web.config文件中僅展示了一個名字為TimeService的服務,它的一個端點使用了TimeService契約和webHttpBinding綁定模型。      

關于怎么理解ASP.NET應用程序的WCF服務問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

历史| 石渠县| 金坛市| 高阳县| 隆昌县| 阿拉善右旗| 都兰县| 固阳县| 石楼县| 闵行区| 淅川县| 汉川市| 溧水县| 城口县| 鄱阳县| 临洮县| 平顶山市| 杭锦旗| 邵阳市| 新建县| 称多县| 巴彦县| 通江县| 海盐县| 石台县| 信阳市| 余庆县| 习水县| 遵义县| 雷州市| 开阳县| 浏阳市| 安溪县| 林甸县| 西吉县| 西安市| 恩施市| 鹤岗市| 琼中| 芦山县| 法库县|