zoukankan      html  css  js  c++  java
  • Quick Start WCF 4.0 RESTful Service Setup

    1.建立一个 Asp.net Website / WebApplication 

    2. 引用 System.ServiceModel 系列的dll

    3. 添加以下的类和接口

    View Code
        [ServiceContract]// define a service contract
    interface IPersonService
    {
    [OperationContract]
    Person GetPerson(
    string id);

    [OperationContract]
    Person InsertPerson(Person person);

    [OperationContract]
    Person UpdatePerson(
    string id, Person person);

    [OperationContract]
    void DeletePerson(string id);
    }

    [AspNetCompatibilityRequirements(RequirementsMode
    = AspNetCompatibilityRequirementsMode.Allowed)] // enablt asp.net compatibility , then wcf service can work in asp.net
    public class PersonService : IPersonService
    {
    [WebGet(UriTemplate
    = "Person({id})")]
    public Person GetPerson(string id)
    {
    return new Person();
    }

    [WebInvoke(UriTemplate
    = "Person", Method = "POST")]
    public Person InsertPerson(Person person)
    {
    return new Person();
    }

    [WebInvoke(UriTemplate
    = "Person({id})", Method = "PUT")]
    public Person UpdatePerson(string id, Person person)
    {
    return new Person();
    }

    [WebInvoke(UriTemplate
    = "Person({id})", Method = "DELETE")]
    public void DeletePerson(string id)
    {
    }
    }

    [DataContract]
    // define a data contract
    public class Person
    {
    [DataMember]
    public string Name { get; set; }
    [DataMember]
    public int Age { get; set; }

    }

    4.配置以下内容在web.config

      <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <standardEndpoints>
    <webHttpEndpoint>
    <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
    </webHttpEndpoint>
    </standardEndpoints>
    </system.serviceModel>

    5.注册一个好看点的地址在global.asax

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

    如果是MVC Project 那么注册代码如下

    routes.Add(new ServiceRoute("Person", new WebServiceHostFactory(), typeof(PersonService)));

    好了 一切ok。。。

    wcf4.0简化了很多配置。。。。

    帮助界面如下所示 (正式的根地址还是: http://localhost:/35034/Personservice ) 

    单个方法的帮助信息就更详细了

  • 相关阅读:
    博弈论嘻嘻
    cf之kmp匹配稍稍改一改
    点分治开始!
    后缀数组
    cf之 前缀和差分
    AJAX 数据库实例
    常用jar包用途
    cxf客户端所需最少jar包
    Dbutis
    dbutils入门
  • 原文地址:https://www.cnblogs.com/PurpleTide/p/2114717.html
Copyright © 2011-2022 走看看