码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2017-08-29 14:20:22      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:names   static   uri   输入   ebe   include   ica   etc   eric   

用 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 

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

标签:names   static   uri   输入   ebe   include   ica   etc   eric   

原文地址:http://www.cnblogs.com/weihengblogs/p/7447573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!