科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件ASP.NET Ajax调用WCF服务示例

ASP.NET Ajax调用WCF服务示例

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:dudu 来源:天极网 2007年11月19日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

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

图3

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

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

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

以下是引用片段:

<?xml version="1.0"?>
<configuration> 
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="false">
<assemblies>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
           PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
<authentication mode="Forms" />
<httpHandlers>
<add verb="*" path="*_AppService.axd" validate="false"
         type="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
         PublicKeyToken=31BF3856AD364E35"/>
<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"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule,
         System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, 
           PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>
</configuration>

注意:要设置为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=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" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Ajax WCF 演示 </title>
</head>
<body>
<form id="form1" runat="server">
<div align="center" style="margin-top:50px">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/CNBlogsWCFService.svc" />
</Services>
</asp:ScriptManager>
<a href="#" onclick="AddToFavorites('1','2')">收藏</a><br />
<br />
<span style="color:Red" id="Msg"></span>

<script type="text/javascript">
function AddToFavorites(blogID,postID)
{
var wcf = new www.cnblog.com.ICNBlogsWCFService();
wcf.AddToFavorites(blogID,postID,OnSucceeded);
}
function OnSucceeded(result)
{   
document.getElementById("Msg").innerHTML = result;        
}  
</script>

</div>
</form>
</body>
</html>

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

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章