日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
ASP.NETAjax調(diào)用WCF服務(wù)正確實(shí)現(xiàn)方法淺談

我們今天主要為大家介紹的就是有關(guān)ASP.NET Ajax調(diào)用WCF服務(wù)的具體實(shí)現(xiàn)方法,主要的應(yīng)用開(kāi)發(fā)環(huán)境是:.NET Framework 3.5 Beta 2+Visual Studio 2005。那么接下來(lái)就讓我們一起來(lái)看一下相關(guān)的操作步驟吧。 #t#

準(zhǔn)備:

1、安裝.NET Framework 3.5 Beta 2。

ASP.NET Ajax調(diào)用WCF服務(wù)需要.NET Framework 3.5 Beta 2中的System.Web.Extensions.dll(3.5.0.0),System.ServiceModel.Web.dll支持。

開(kāi)始我安裝的是.NET Framework 3.5 June 2007 Community Technology Preview (CTP),走了一些彎路。

2、安裝Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF)。

3、檢查IIS是否有.svc到c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll的映射,如果沒(méi)有,建立映射,建立時(shí)取消“檢查文件是否存在”的選擇。

開(kāi)始:

1、在VS 2005中新建一個(gè)Web Site項(xiàng)目。

添加web.config,將改為。

2、在該項(xiàng)目中添加一個(gè)WCF Service,命名為CNBlogsWCFService.svc。

3、修改App_Code中CNBlogsWCFService.cs的代碼:

 
 
 
  1. [ServiceContract(Namespace = "http://www.cnblog.com/")]   
  2. public interface ICNBlogsWCFService   
  3. {   
  4. [OperationContract]   
  5. string AddToFavorites(string blogID, string postID);   
  6. }   
  7. public class CNBlogsWCFService : ICNBlogsWCFService   
  8. {   
  9. public string AddToFavorites(string blogID, string postID)   
  10. {   
  11. return string.Format("收藏成功!BlogID:{0},PostID:{1}", blogID, postID);   
  12. }   

4、修改CNBlogsWCFService.svc的代碼:

增加:

Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory。

改為:

 
 
 
  1. < %@ ServiceHost Language="C#" Debug="true" Service="CNBlogsWCFService" 
    CodeBehind="~/App_Code/CNBlogsWCFService.cs" 
    Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory"%>
    < %@ ServiceHost Language="C#" Debug="true" Service="CNBlogsWCFService"
     CodeBehind="~/App_Code/CNBlogsWCFService.cs" 
    Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory"%> 

Factory是.NET Framework 3.5 Beta 2中增加的,而我們用的是Visual Studio 2005 extensions for .NET Framework 3.0,所以要手動(dòng)加上。

如果不通過(guò)Ajax調(diào)用WCF,需要設(shè)置為:Factory="System.ServiceModel.Web.WebServiceHostFactory"。

5、開(kāi)始***次運(yùn)行,訪問(wèn)http://localhost/AjaxWCFDemo/CNBlogsWCFService.svc,會(huì)出現(xiàn)如下頁(yè)面:

6、繼續(xù)運(yùn)行,訪問(wèn)http://localhost/AjaxWCFDemo/CNBlogsWCFService.svc/js,你會(huì)看到自動(dòng)生成訪問(wèn)WCF的客戶端代理腳本。

7、OK!服務(wù)器端的WCF已經(jīng)準(zhǔn)備好了,下面就開(kāi)始客戶端的訪問(wèn)。

8、配置ASP.NET Ajax調(diào)用WCF服務(wù),在web.config中進(jìn)行設(shè)置:

 
 
 
  1. < ?xml version="1.0"?> 
  2. < configuration>   
  3. < appSettings/> 
  4. < connectionStrings/> 
  5. < system.web> 
  6. < compilation debug="false"> 
  7. < assemblies> 
  8. < add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
    PublicKeyToken=31BF3856AD364E35"/> 
  9. < /assemblies> 
  10. < /compilation> 
  11. < authentication mode="Forms" /> 
  12. < httpHandlers> 
  13. < add verb="*" path="*_AppService.axd" validate="false" 
    type="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
    PublicKeyToken=31BF3856AD364E35"/> 
  14. < add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.
    Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, 
    Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/> 
  15. < /httpHandlers> 
  16. < httpModules> 
  17. < add name="ScriptModule" type="System.Web.Handlers.ScriptModule, 
    System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, 
    PublicKeyToken=31bf3856ad364e35"/> 
  18. < /httpModules> 
  19. < /system.web> 
  20. < /configuration>  

注意:要設(shè)置為3.5版本的System.Web.Extensions,如果使用asp.net ajax 1.0會(huì)得不到ASP.NET Ajax調(diào)用WCF服務(wù)返回的結(jié)果。

9、修改default.aspx的代碼:

1)添加ScriptManager,將ServiceReference設(shè)置為:~/CNBlogsWCFService.svc。

2)將

 
 
 
  1. < %@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, 
    Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
  2. Namespace="System.Web.UI" TagPrefix="asp" %>  

改為:

 
 
 
  1. < %@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, 
    Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
  2. Namespace="System.Web.UI" TagPrefix="asp" %>  

2)添加調(diào)用WCF服務(wù)的代碼,完整代碼如下:

 
 
 
  1. < %@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" 
    Inherits="_Default" %> 
  2. < %@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, 
    Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
    Namespace="System.Web.UI" TagPrefix="asp" %> 
  3. < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4. < html xmlns="http://www.w3.org/1999/xhtml" > 
  5. < head runat="server"> 
  6. < title>Ajax WCF 演示 < /title> 
  7. < /head> 
  8. < body> 
  9. < form id="form1" runat="server"> 
  10. < div align="center" style="margin-top:50px"> 
  11. < asp:ScriptManager ID="ScriptManager1" runat="server"> 
  12. < Services> 
  13. < asp:ServiceReference Path="~/CNBlogsWCFService.svc" /> 
  14. < /Services> 
  15. < /asp:ScriptManager> 
  16. < a href="#" onclick="AddToFavorites('1','2')">收藏< /a>< br /> 
  17. < br /> 
  18. < span style="color:Red" id="Msg">< /span> 
  19. < script type="text/javascript"> 
  20. function AddToFavorites(blogID,postID)  
  21. {  
  22. var wcf = new www.cnblog.com.ICNBlogsWCFService();  
  23. wcf.AddToFavorites(blogID,postID,OnSucceeded);  
  24. }  
  25. function OnSucceeded(result)  
  26. {   
  27. document.getElementById("Msg").innerHTML = result;   
  28. }   
  29. < /script> 
  30. < /div> 
  31. < /form> 
  32. < /body> 
  33. < /html> 

10、一切就緒,體驗(yàn)一下ASP.NET Ajax調(diào)用WCF服務(wù)的快樂(lè)!


新聞名稱:ASP.NETAjax調(diào)用WCF服務(wù)正確實(shí)現(xiàn)方法淺談
新聞來(lái)源:http://www.dlmjj.cn/article/dhhcosc.html