• 用 C# 实现一个简单的 Rest Service 供外部调用


    用 C#  实现一个简单的 Restful Service 供外部调用,大体总结为4点:

    • The service contract (the methods it offers).
    • How do you know which one to access from the URL given (URL Routing).
    • The implementation of the service.
    • How you will host the service.

    详细的基本步骤如下所示: 

    1):工程结构(Class Library Project)

    2): IRestDemoService.cs

    复制代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ServiceModel;
    using System.ServiceModel.Web;
    
    namespace EricSunRestService
    {
        [ServiceContract(Name = "RestDemoServices")]
        public interface IRestDemoServices
        {
            [OperationContract]
            [WebGet(UriTemplate = Routing.GetClientRoute, BodyStyle = WebMessageBodyStyle.Bare)]
            string GetClientNameById(string Id);
        }
    
    
        public static class Routing
        {
            public const string GetClientRoute = "/Client/{id}";
        }
    }
    复制代码

    3):RestDemoService.cs

    复制代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ServiceModel;
    using System.ServiceModel.Activation;
    
    namespace EricSunRestService
    {
        [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single, IncludeExceptionDetailInFaults = true)]
        [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
        public class RestDemoServices : IRestDemoServices
        {
            public string GetClientNameById(string Id)
            {
                string ReturnString = "HaHa id is: " + Id;
    
                return ReturnString;
            }
        }
    }
    复制代码

    4):Host Service 工程结构 (Console Application)

    5):Program.cs

    复制代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using EricSunRestService;
    using System.ServiceModel.Web;
    
    namespace EricSunHostService
    {
        class Program
        {
            static void Main(string[] args)
            {
                RestDemoServices demoServices = new RestDemoServices();
                WebServiceHost _serviceHost = new WebServiceHost(demoServices, new Uri("http://localhost:8000/DemoService"));
                _serviceHost.Open();
                Console.ReadKey();
                _serviceHost.Close();
            }
        }
    }
    复制代码

    6):运行Host程序,在浏览器中输入对应Service的Url

     

    更多信息请看如下链接:

    http://www.progware.org/Blog/post/A-simple-REST-service-in-C.aspx 

  • 相关阅读:
    JDK的安装及环境变量部署
    计算机常用运行指令
    Linux基础2
    Linux基础1
    Oracle数据库基础(2)
    Oracle数据库的基础(1)
    测试用例的设计
    软件测试基础
    转化课-环境变量
    转化课-计算机基础及上网过程
  • 原文地址:https://www.cnblogs.com/weihengblogs/p/7447573.html
Copyright © 2020-2023  润新知