loxen

ServiceStack入门

来源:https://github.com/ServiceStack/ServiceStack/wiki/Create-your-first-webservice

 

1、新建一个空asp.net 项目,用NuGet安装serviceStack包,配置Web.Config

<system.web>
  <httpHandlers>
    <add path="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*"/>
  </httpHandlers>
</system.web>

<!-- Required for IIS 7.0 (and above?) -->
<system.webServer>
  <validation validateIntegratedModeConfiguration="false" />
  <handlers>
    <add path="*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
  </handlers>
</system.webServer>

2、实现服务

Each service in ServiceStack consists of three parts(每个服务由三部分构成):

  • Request DTO
  • Service implementation
  • Response DTO
//Request DTO输入
using
ServiceStack.ServiceHost; [Route("/hello")] [Route("/hello/{Name}")] public class Hello { public string Name { get; set; } }
//Response DTO输出
public
class HelloResponse { public string Result { get; set; } }
//实现一个服务
using
ServiceStack.ServiceInterface; public class HelloService : Service { public object Any(Hello request) { return new HelloResponse { Result = "Hello, " + request.Name }; } }

3、创建服务主机

public class HelloAppHost : AppHostBase
    {
        //告诉seviceStack你的服务程序名及如何找到你的服务程序
        public HelloAppHost() 
        : base("Hello Web Services", typeof(HelloService).Assembly) { }

        public override void Configure(Funq.Container container)
        {
            //注册你的服务所使用的任何依赖
            //container.Register<ICacheClient>(new MemoryCacheClient());
        }
    }

//同理,你可以为此而创建多个服务程序主机,以发布多服务程序

  

4、初始化并启动服务主机,开始发布服务

//Gloabal.cs文件
//注册服务
public
class Global : System.Web.HttpApplication { //Initialize your application singleton protected void Application_Start(object sender, EventArgs e) { new HelloAppHost().Init();
    //初始化其它服务主机...以实现同一asp.net程序中发布多个服务(note:个人见解) } }

 

 

 

分类:

技术点:

相关文章:

  • 2021-10-16
  • 2021-06-19
  • 2021-05-29
  • 2021-07-17
  • 2021-07-01
  • 2021-12-22
  • 2021-08-22
  • 2021-09-12
猜你喜欢
  • 2021-12-06
  • 2021-05-22
  • 2021-07-23
  • 2021-06-14
  • 2022-01-15
  • 2022-01-13
  • 2021-12-04
相关资源
相似解决方案