ASP.NET Ajax调用WCF服务示例

2021-04-08 08:26

阅读:542

YPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

标签:上海   innerhtml   reg   增加   没有   model   htm   add   conf   

准备

1,安装.NET Framework 3.5 Beta 2。

ASP.NET Ajax调用WCF服务需要.NET Framework 3.5 Beta 2中的System.Web.Extensions.dll(3.5.0.0),System.ServiceModel.Web.dll支持。

开始我安装的是.NET Framework 3.5 2007年6月Community Technology Preview(CTP),走了一些弯路。

2,安装用于.NET Framework 3.0(WCF和WPF)的Visual Studio 2005扩展。

3,检查IIS是否有.svc到c:\ windows \ microsoft.net \ framework \ v2.0.50727 \ aspnet_isapi.dll的映射,如果没有,建立映射,建立时取消“检查文件是否存在”的选择。

开始

1,在VS 2005中新建一个网站项目。

添加web.config,将更改。

2,在该项目中添加一个WCF服务,命名为CNBlogsWCFService.svc。

3,修改App_Code中CNBlogsWCFService.cs的代码:

以下是引用片段:

 

 


[ServiceContract(Namespace =“ http://www.51csharp.com/”)]公共接口ICNBlogsWCFService {[OperationContract]字符串AddToFavorites(字符串blogID,字符串postID);}公共类CNBlogsWCFService:ICNBlogsWCFService {公共字符串AddToFavorites(字符串blogID,字符串postID){返回string.Format(“收藏成功!BlogID:{0},PostID:{1}”,blogID,postID);}}

 

如果想进一步了解上述代码,请参考:

Artech:[原创]我的WCF之旅(1):创建一个简单的WCF程序Bruce Zhang:Windows Communication Foundation入门(第二部分)

4,修改CNBlogsWCFService.svc的代码:

增加:以下是引用片段:

 

 

Factory =“ System.ServiceModel.Activation.WebScriptServiceHostFactory

 

转变:

以下是引用片段:

 

 




CodeBehind =“?/ App_Code / CNBlogsWCFService.cs” 
Factory =“ System.ServiceModel.Activation.WebScriptServiceHostFactory”%>

 

Factory是.NET Framework 3.5 Beta 2中增加的,而我们用的是.NET Framework 3.0的Visual Studio 2005扩展,所以要手动添加。

如果不通过Ajax调用WCF,需要设置为:Factory =“ System.ServiceModel.Web.WebServiceHostFactory”。
 

5,开始第一次运行,访问http://localhost/AjaxWCFDemo/CNBlogsWCFService.svc,会出现如下页面:

 

6,继续运行,访问http://localhost/AjaxWCFDemo/CNBlogsWCFService.svc/js,您会看到自动生成访问WCF的客户端代理脚本。

7,OK!服务器端的WCF已经准备好了,下面就开始客户端的访问。

8,配置ASP.NET Ajax,在web.config中进行设置:

以下是引用片段:

 

 



  





           PublicKeyToken = 31BF3856AD364E35“ />
 assembly>
 compilation>


         type =“ System.Web.Extensions,Version = 3.5.0.0,Culture = neutral, 
         PublicKeyToken = 31BF3856AD364E35“ />
         type =“ System.Web.Handlers.ScriptResourceHandler,System.Web.Extensions, 
         版本= 1.0.61025.0,文化=中性,PublicKeyToken = 31bf3856ad364e35” 
         validate =“ false” />
 httpHandlers>

         System.Web.Extensions,版本= 1.0.61025.0,文化=中性, 
           PublicKeyToken = 31bf3856ad364e35“ />
 httpModules>

 configuration>

 

注意:要设置为3.5版本的System.Web.Extensions,如果使用asp.net ajax 1.0会得不到调用WCF服务返回的结果。

9,修改default.aspx的代码:

1)添加ScriptManager,将ServiceReference设置为:?/ CNBlogsWCFService.svc。

2)将

以下是引用片段:

 

 


  文化=中性,PublicKeyToken = 31bf3856ad364e35“
Namespace =“ System.Web.UI” TagPrefix =“ asp”%>

 

转变:

以下是引用片段:

 

 


   文化=中性,PublicKeyToken = 31BF3856AD364E35”
Namespace =“ System.Web.UI” TagPrefix =“ asp”%>

 

2)添加调用WCF服务的代码,完整代码如下:

以下是引用片段:

 

 


CodeFile =“ Default.aspx.cs” Inherits =“ _ Default”%>

文化=中性,PublicKeyToken = 31BF3856AD364E35”

Namespace =“ System.Web.UI” TagPrefix =“ asp”%>

“ http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> Ajax WCF演示 title> head>

服务> asp:ScriptManager> 收藏

span>

wcf.AddToFavorites(blogID,postID,OnSucceeded); }函数OnSucceeded(result){document.getElementById(“ Msg”)。innerHTML = result; } script>

div> form> body> html>

 

10,一切就绪,体验一下Ajax调用WCF的快乐!代孕伟13802269370   北京代孕微13802269370  代孕微13802269370   代孕电13802269370   北京代孕电13802269370  上海代孕微13802269370

ASP.NET Ajax调用WCF服务示例

标签:上海   innerhtml   reg   增加   没有   model   htm   add   conf   

原文地址:https://www.cnblogs.com/bbc2020/p/12461423.html


评论


亲,登录后才可以留言!