您的位置:首页 > 编程语言 > C#

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

2017-08-29 11:48 477 查看
用 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐