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 ) 

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

  • 相关阅读:
    linux离线安装nodejs ,配置环境,离线配置全局包
    前端项目路由使用browserHistory不能刷新,页面刷新错误,
    手机uc浏览器打不开本地网页,网页一片空白
    display:flex兼容性,
    react生产环境样式丢失问题 在浏览器中看到标签有类名,但没有样式
    redux使用redux-thunk中间件处理异步状态管理请求
    配置Redux DevTools
    flex-grow属性在文本过长时会超出父窗体长度
    react配置代理,解决跨域
    react修改状态
  • 原文地址:https://www.cnblogs.com/PurpleTide/p/2114717.html
Copyright © 2011-2022 走看看