zoukankan      html  css  js  c++  java
  • WCF REST<1>: 搭建简单的WCF REST 服务

    熟悉.NET Framework的人都应该知道在WCF 3.5时就已经支持了WCF REST 功能,经过.NET 4.0的改进到现在.NET4.5时大有被WEB API替代的趋势,但REST并非就已经走向了死亡,这里简要的记录下如何通过VS2012快速搭建一个WCF REST服务。

    1、打开VS2012,新建一个WCF服务应用程序。

    2、删除默认生成的接口跟实现文件(如图)

    3、新增自定义的接口文件: ICustomerService.cs

    这里需要注意如果是POST操作,则必须指定Method为大写的字符串"POST",并设置BodyStyle,这里设置为WebMessageBodyStyle.WrappedRequest
    4、添加实现类: CustomerService.cs
    6、新增一个.svc文件,如下图,把service指向编写好的服务。
     
    7、修改配置文件:
     
     
    8、生成解决方案,在浏览器中输入地址进行测试
     
    如图,已已成功生成REST服务。
     
     总结:
    1、为何说REST还没有完全不会被WebAPI取代,在这个项目中可以看到,其实这个REST服务是不止是REST服务,它还暴露了另外的一个EndPoint,即使用了BasicHttpBinding的SOAP服务。这是非常有意义的。
    2、在开发REST服务时需要注意的是,REST的EndPoint使用的绑定必须是WebHttpBinding。同时需要注意的是如果发布的REST服务需要使用POST,PUT等方式必须设置Method属性为对于的大写"POST","PUT"。
    3、在上面的测试中可以发现,在步骤8中,我们给出的REST的地址是http://localhost:13412/CustomerService.svc/XMLService/Customers/aa,其中的地址中“CustomerService.svc”在地址栏中总感觉非常别扭,有没有一个好方法设定自定义的地址呢,答案是可以的,在VS2012中往项目中添加一个Global.asax,小小修改:

    protected void Application_Start(object sender, EventArgs e)
    {
    RouteTable.Routes.Add(new ServiceRoute("Customer", new WebServiceHostFactory(), typeof(CustomerService)));
    }

    通过修改,我们再来测试下:

    OK,证明通过添加路由起到作用。

    到这里,一个简单也不算太简单的WCF REST 服务就已经搭建好了,下篇会来介绍如何在winFrom、JS中消费这个REST服务。

  • 相关阅读:
    格式与布局
    iframe
    tp
    头信息
    php 文件下载
    socket
    Flex 布局2
    Flex 布局
    下拉刷新
    选取一种类中含有某一属性值得元素的集合
  • 原文地址:https://www.cnblogs.com/liaotongquan/p/2990737.html
Copyright © 2011-2022 走看看