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小小鸟
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Codeforces467C George and Job
    Codeforces205E Little Elephant and Furik and RubikLittle Elephant and Furik and Rubik
    Codeforce205C Little Elephant and Interval
    51nod1829 函数
    51nod1574 排列转换
    nowcoder35B 小AA的数列
    Codeforce893E Counting Arrays
    gym101612 Consonant Fencity
    CodeForces559C Gerald and Giant Chess
    CodeForces456D A Lot of Games
  • 原文地址:https://www.cnblogs.com/YangFengHui/p/2038691.html
Copyright © 2011-2022 走看看