wcf Restful编程五

  • Post author:
  • Post category:其他


Wcf rest编程

Restful

一种软件架构风格,设计风格而

不是

标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。(关于这种编程风格大家可以百度下)

Wcf

前面已经讲过,但自己书中不会创建一个restful风格的服务,最近看到一份外文博客分享给大家,这里这是创建,具体原理,我能懂了再分享个大家。

Step1

新建wcf服务应用程序


Step2

添加新建项


Step3修改

修改接口

[ServiceContract]

    public interface IRestService

    {

        [WebInvoke(Method = "GET",

           ResponseFormat = WebMessageFormat.Xml,

           BodyStyle = WebMessageBodyStyle.Wrapped,

           UriTemplate = "xml/{id}")]

        string XMLData(stringid);

 

        [WebInvoke(Method = "Get",

            ResponseFormat = WebMessageFormat.Json,

               BodyStyle = WebMessageBodyStyle.Wrapped,

               UriTemplate = "Json/{id}")]

        string JsonDate(stringid);

    }

实现方法

  public class RestService : IRestService

    {
        public stringXMLData(string id)

        {

            return "you requestproduce" + id;

        }

 

        public stringJsonDate(string id)

        {

            return "you requestproduce" + id;

        }

    }

修改XML文档

<system.serviceModel>

   <behaviors>

     <serviceBehaviors>

       <behaviorname="ServiceBehavior">

         <!--为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->

         <serviceMetadatahttpGetEnabled="true"/>

         <!--要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->

         <serviceDebugincludeExceptionDetailInFaults="false"/>

       </behavior>

     </serviceBehaviors>

     <endpointBehaviors>
       <behaviorname="web">
         <webHttp/>
       </behavior>
     </endpointBehaviors>
   </behaviors>

   <services>
     <servicename="Restful.RestService"behaviorConfiguration="ServiceBehavior">
       <endpointaddress=""binding="webHttpBinding"contract="Restful.IRestService"behaviorConfiguration="web">
       </endpoint>
     </service>
   </services>

   <serviceHostingEnvironmentmultipleSiteBindingsEnabled="true" />

 </system.serviceModel>

运行

总结

慢慢多学,天天学。走编程解决问题。