用 C# 實現一個簡單的 Rest Service 供外部調用
阿新 • • 發佈:2017-08-29
message [] operation rem adk www span method title
用 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 供外部調用