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 ) 

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

  • 相关阅读:
    Get distinct count of rows in the DataSet
    单引号双引号的html转义符
    PETS Public English Test System
    Code 39 basics (39条形码原理)
    Index was outside the bounds of the array ,LocalReport.Render
    Thread was being aborted Errors
    Reportviewer Error: ASP.NET session has expired
    ReportDataSource 值不在预期的范围内
    .NET/FCL 2.0在Serialization方面的增强
    Perl像C一样强大,像awk、sed等脚本描述语言一样方便。
  • 原文地址:https://www.cnblogs.com/PurpleTide/p/2114717.html
Copyright © 2011-2022 走看看