zoukankan      html  css  js  c++  java
  • 启用了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的处理页面,大概内容如下:

    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类。
    作者:GY小小鸟
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    java设计模式之代理模式 ,以及和java 回调机制的区别
    oracle 安装,启动 ,plsql 连接
    jsp 访问文件夹中的图片,tomcat配置虚拟目录
    最实用解决tomcat startup.bat 一闪而过
    oracle 创建表
    java debug源码完整版
    node.js事件轮询(1)
    markdown命令语法
    mac常用的命令
    node + nginx + mongo搭建负载均衡
  • 原文地址:https://www.cnblogs.com/YangFengHui/p/2038691.html
Copyright © 2011-2022 走看看