启用了AJAX的WCF服务

  刚才在百度百科里找了一下WCF:Windows Communication Foundation (WCF) 是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由 .NET Framework 3.0 开始引入,与 Windows Presentation Foundation 及 Windows Workflow Foundation 并行为新一代 Windows 操作系统以及 WinFX 的三个重大应用程序开发类库。

  它就是微软开发的一组数据通信的接口。其中wcf也实现了Ajax的服务。用它,我就可以简化Ajax开发了。之前我写Ajax服务,都是需要建一个ashx处理程序页面,要序列化数据,在前台还需要反序列化数据等,比较费事。

  接下来看看如何运用它:在一个web项目中,新建-->添加新项-->启用了AJA的XWCF服务。添加一个后缀名为svc的处理页面,大概内容如下:

ContractedBlock.gif ExpandedBlockStart.gif PesrsonService.svc
 
   
[ServiceContract(Namespace = "" )]
[AspNetCompatibilityRequirements(RequirementsMode
= AspNetCompatibilityRequirementsMode.Allowed)]
public class PersonService
{
// 添加 [WebGet] 属性以使用 HTTP GET
[OperationContract]
public void DoWork() // 这个是自动生成的示例
{
// 在此处添加操作实现
return ;
}
[OperationContract]
// 标记了OperationContract的方法就可以在Ajax中调用
public Person GetPerson()
{
return new Person(){Name = " 杨凤辉 " ,Age = 22 };
}
}
public class Person
{
public string Name { set ; get ; }
public int Age { set ; get ; }
}

  在aspx页面,页首添加一个ScriptManager控件,然后设置一下“service集合”属性,添加一个service,路径path为刚才定义的svc页面:

      <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="~/PersonService.svc" />
            </Services>
        </asp:ScriptManager>

如此,我就可以在该页面的Javascript代码中调用PessonService.svc中定义的方法。

 
  
< script language ="javascript" type ="text/javascript" >
function Button1_onclick() {
PersonService.GetPerson(
function (data){alert(data.Name);},
function (){alert( " 失败 " );});
}
</ script >
吃午饭了, 接下来就可以在普通的aspx中,通过AJAX的方式调用上面定义的方法了,数据完全可以从数据库中读取,为了方便演示,写了一个person类。

转载于:https://www.cnblogs.com/YangFengHui/archive/2011/05/06/2038691.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值