zoukankan      html  css  js  c++  java
  • 用 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 

     

  • 相关阅读:
    程序员必定会爱上的10款软件(转)
    用代码来细说Csrf漏洞危害以及防御
    UPX源码分析——加壳篇
    从零开始学习渗透Node.js应用程序
    自己动手python打造渗透工具集
    国内国外最好的java开发论坛及站点 [转]
    运维无小事之一次导致数据丢失的小变更
    使用python及工具包进行简单的验证码识别
    浅析企业安全中账户安全 的重要性
    全世界最顶级黑客同时沸腾在DEF CON 25,是怎样一种体验?
  • 原文地址:https://www.cnblogs.com/mingmingruyuedlut/p/3740975.html
Copyright © 2011-2022 走看看