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 ) 

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

  • 相关阅读:
    第四次作业
    软工第三次作业
    第三次作业
    第二次作业
    团队第三次作业:Alpha版本发布
    软件工程团队作业--Alpha版本第二周小结
    软件工程团队作业--Alpha版本第一周小结
    团队第二次作业
    C++多态性总结
    第四次作业:结对编程
  • 原文地址:https://www.cnblogs.com/PurpleTide/p/2114717.html
Copyright © 2011-2022 走看看