C#实现一个简单的 Restful Service

原文来自:http://www.cnblogs.com/mingmingruyuedlut/p/3740975.html

用 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

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C#编写一个简单RESTful API可以按照以下步骤进行: 1. 安装ASP.NET Core SDK并创建一个新的ASP.NET Core Web应用程序项目。 2. 在项目中添加一个控制器类,用于处理API请求和响应。例如,可以创建一个名为“UserController”的控制器类。 3. 在控制器类中添加一些方法,用于处理不同的HTTP请求。例如,可以添加一个名为“GetAllUsers”的方法,用于处理GET请求并返回所有用户的列表。 4. 在方法中使用ASP.NET Core的内置注释来指定HTTP请求的路由和方法类型。例如,可以使用[HttpGet]注释来指定一个GET请求。 5. 在方法中使用ASP.NET Core的内置注释来指定HTTP请求的参数和返回类型。例如,可以使用[FromBody]注释来指定一个POST请求的请求体参数类型。 6. 在方法中编写逻辑代码来处理请求并返回响应。例如,可以使用Entity Framework Core来从数据库中检索用户数据并将其转换为JSON格式返回。 7. 在应用程序的启动文件中配置路由和中间件,以便将请求路由到正确的控制器和方法。 8. 使用ASP.NET Core的内置Web服务器(例如Kestrel)启动应用程序并测试API。 以上是编写一个简单RESTful API的基本步骤,具体实现方式可以根据具体需求和技术栈进行调整。 ### 回答2: 很抱歉,您的问题没有明确的上下文或指导,因此无法针对特定的问题提供中文答案。如果您能提供更多信息或问题背景,我将很高兴为您提供更详细的回答。同时,请注意我们的答案应当是合法、安全和积极的。谢谢! ### 回答3: c是一种编程语言,由丹尼斯·里奇和肯·汤普逊在20世纪70年代初期开发出来。它是一种结构化、高级的编程语言,被广泛应用于系统软件开发、嵌入式系统的编程和科学计算领域。 与其他编程语言相比,c具有以下优点: 1. 速度快:c语言编写的程序执行速度快,因为c语言是直接与计算机硬件交互的,可以更好地利用计算机硬件资源。 2. 跨平台:c语言的编译器可以在不同的操作系统上运行,这使得c语言在跨平台的软件开发中得到广泛的应用。 3. 简洁高效:c语言具有非常简洁的语法和强大的编程能力,使得程序员可以高效地开发出复杂的程序。 4. 强大的底层控制能力:c语言可以直接访问计算机硬件,可以实现底层的编程和控制,这对于编写操作系统、驱动程序等软件非常有用。 c语言也有一些缺点,例如: 1. 容易出错:c语言是一种指针操作非常常见的编程语言,而指针操作容易出错,导致程序崩溃。 2. 内存管理复杂:c语言需要手动管理内存,这对于新手来说是一种挑战,容易引发各种内存管理问题。 3. 学习难度较高:相比其他编程语言,c语言的学习曲线较陡峭,需要花费更多的时间和精力才能掌握。 总之,c语言是一种非常强大、灵活、高效的编程语言,被广泛应用于系统开发、嵌入式系统以及科学计算领域。但是,它也需要程序员具备一定的编程经验和技能,才能更好地发挥其优势和避免其缺点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值