自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET應(yīng)用程序的WCF服務(wù)

開發(fā) 后端
本文介紹ASP.NET應(yīng)用程序的WCF服務(wù),我們來學(xué)習(xí)如何在前面的ASP.NET網(wǎng)站中添加一個支持AJAX功能的WCF服務(wù)。

ASP.NET應(yīng)用程序添加WCF服務(wù)

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

添加支持AJAX技術(shù)的WCF服務(wù)

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

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

  1. using System;  
  2. using System.Runtime.Serialization;  
  3. using System.ServiceModel;  
  4. using System.ServiceModel.Activation;  
  5. using System.ServiceModel.Web;  
  6.  
  7. [ServiceContract (Namespace = "Samples.Services")]  
  8. [AspNetCompatibilityRequirements(  
  9. RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]  
  10. public class TimeService  
  11. ...{  
  12. [OperationContract]  
  13. public DateTime GetTime()  
  14. ...{  
  15. return DateTime.Now;  
  16. }  
  17. [OperationContract]  
  18. public string GetTimeFormat(string format)  
  19. ...{  
  20. return DateTime.Now.ToString(format);  
  21. }  
  22. }  

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

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

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

  1. <system.serviceModel> 
  2. <behaviors> 
  3. <endpointBehaviors> 
  4. <behavior name="TimeServiceAspNetAjaxBehavior"> 
  5. <enableWebScript /> 
  6. </behavior> 
  7. </endpointBehaviors> 
  8. </behaviors> 
  9. <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
  10. <services> 
  11. <service name="TimeService"> 
  12. <endpoint address="" 
  13. behaviorConfiguration="TimeServiceAspNetAjaxBehavior" 
  14. binding="webHttpBinding" 
  15. contract="TimeService" /> 
  16. </service> 
  17. </services> 
  18. </system.serviceModel>  

注意,上面的配置內(nèi)容是隨著WCF服務(wù)的創(chuàng)建由系統(tǒng)自動生成的。

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

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

【編輯推薦】

  1. XML和ASP.NET
  2. ASP.NET中Java script中調(diào)用c#方法
  3. ASP.NET整個Postback程序處理的過程
  4. ASP.NET服務(wù)器端控件CheckBoxList
  5. 淺析ASP.NET的Membership
責(zé)任編輯:佚名 來源: 博客堂
相關(guān)推薦

2009-07-20 16:08:04

ASP.NET應(yīng)用程序

2009-07-27 16:09:50

2009-07-29 17:01:13

2009-08-05 10:16:54

部署ASP.NET應(yīng)用

2009-07-22 17:32:40

ASP.NET應(yīng)用程序

2009-07-23 13:26:21

2009-07-21 15:02:19

ASP.NET應(yīng)用程序

2009-07-29 17:21:10

2009-07-27 17:54:39

WCF服務(wù)ASP.NET

2009-07-20 17:39:36

WCF服務(wù)ASP.NET AJA

2009-07-23 14:25:03

ASP.NET 2.0

2009-07-28 10:11:06

ASP.NET應(yīng)用程序

2009-07-21 15:14:32

預(yù)編譯應(yīng)用程序ASP.NET

2009-07-29 10:30:53

Web應(yīng)用程序ASP.NET

2009-07-23 13:14:20

ASP.NET應(yīng)用程序

2009-07-21 09:53:55

ASP.NET AJAWCF服務(wù)

2009-07-21 15:23:55

預(yù)編譯Web應(yīng)用程序ASP.NET

2009-07-24 10:41:00

ASP.NET Web

2009-08-04 11:46:09

2009-07-27 17:51:58

WCF服務(wù)ASP.NET
點贊
收藏

51CTO技術(shù)棧公眾號