学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> ASPNET >> ASP.NET Ajax调用WCF服务示例


ASP.NET Ajax调用WCF服务示例


  本文的主要内容是通过ASP.NET Ajax调用WCF服务的代码示例。开发环境是:.NET Framework 3.5 Beta 2+Visual Studio 2005。

  准备:

  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 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的映射,如果没有,建立映射,建立时取消“检查文件是否存在”的选择。

  开始:

  1、在VS 2005中新建一个Web Site项目。

  添加web.config,将改为

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

  asp.net ajax 调用wcf服务

  asp.net ajax 调用wcf服务

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

以下是引用片段:
[ServiceContract(Namespace = "http://www.cnblog.com/")]
  public interface ICNBlogsWCFService
  {
  [OperationContract]
  string AddToFavorites(string blogID, string postID);
  }
  public class CNBlogsWCFService : ICNBlogsWCFService
  {
  public string AddToFavorites(string blogID, string postID)
  {
  return string.Format("收藏成功!BlogID:{0},PostID:{1}", blogID, postID);
  }
  }

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

  1.   Artech:[原创]我的WCF之旅(1):创建一个简单的WCF程序
  2.   Bruce Zhang:Windows Communication Foundation入门(Part Two)

  4、修改CNBlogsWCFService.svc的代码:

  增加:
以下是引用片段:
Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory。

  改为:

<%@ 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,所以要手动加上。

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

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

  asp.net ajax 调用wcf服务

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

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

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

以下是引用片段:

 
 
 
 
   
     
       
     
   

   
   
     
     
   

   
     
   

 

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

  9、修改default.aspx的代码:

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

  2)将

<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

  Namespace="System.Web.UI" TagPrefix="asp" %>
以下是引用片段:
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI" TagPrefix="asp" %>

  改为:

以下是引用片段:
<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"

  Namespace="System.Web.UI" TagPrefix="asp" %>

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

以下是引用片段:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"   Namespace="System.Web.UI" TagPrefix="asp" %>



    Ajax WCF 演示 


   


   

       
           
               
           

       
        收藏

       

       

       

   


   


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

  10、一切就绪,体验一下Ajax调用WCF的快乐!

技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"ASP.NET Ajax调用WCF服务示例"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 ASP.NET Ajax调用WCF服务示例 相关内容
Google搜索中 ASP.NET Ajax调用WCF服务示例 相关内容
雅虎中 ASP.NET Ajax调用WCF服务示例 相关内容
Sogou搜索中 ASP.NET Ajax调用WCF服务示例 相关内容

相关软件 最新回复帖子:

·没有mysql支持时的替代方案
·一个可以发送附件及HTML格式邮件的PHP类
·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效
·用Photoshop通道将模糊肖像照片清晰化


  相关软件 ASP.NET Ajax调用WCF服务示例相关文章
Asp.net 实现无刷新检测用户名 Asp.net 日期字符串格式化显示方法
简单介绍 Asp.net 几个控件的区别 在asp.net 2.0中使用存储过程
asp.net 跳转页面的三种方法比较 你必须知道的 .NET 之对接口和抽象类
优秀 ASP.NET 程序员的修炼之路 ASP.NET2.0中控件的简单异步回调
.NET 3.x新特性体验之扩展方法 ASP.NET 中Multi-ListBox控件编程详解
ASP.NET 构架与安全机制之Http请求处理 ASP.NET 的本质之IIS以及进程模式
ASP.NET 中MD5和SHA1加密的几种方法 ASP.NET 中基类页的设计和使用
从 .NET 类库代码来看 ASP.NET 运行时 ASP.NET 3.5的ListView与CSS Friendly
使用 ASP.NET 2.0中的ReportViewer控件 ASP.NET 多频道网站架构实现方法
.NET 环境下几种不同的邮件发送解决方案 VS2005(c#)项目调试问题解决方案集锦