189 8069 5689

ServiceStack怎么用

这篇文章主要介绍了ServiceStack怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联的团队成员不追求数量、追求质量。我们经验丰富并且专业,我们之间合作时就好像一个人,协同一致毫无保留。创新互联珍视想法,同时也看重过程转化带来的冲击力和影响力,在我们眼中,任何细节都不容小觑。一直致力于为企业提供从主机域名、网站策划、网站设计、电子商务商城网站建设、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。

ServiceStack是目前使用的最舒服的.net服务开发类库,开发简单,速度也相当快,而且还可以进行跨平台,集成多种数据库的访问。

ServiceStack提供基于web可发布在iis的服务和单独的应用程序式运行服务,两种方式都比较简单。

下边举例一个简单的Rest服务开发,是以单独的应用程序运行:

//因服务一般要求的性能都比较高,所以单独程序是要基于console应用程序为开始,下边是一个最简单的apphost的初始化,最重要是要指定监听的url地址

        static void Main(string[] args)

        { 

            ServiceStackHost appHost;

            appHost = new AppHost()

                .Init()

                .Start("http://localhost:7771/");

            Console.WriteLine("指定服务已启动,监听端口为xxxx,请不要关闭窗

              口!");

            Console.ReadLine();

        }

    //apphost的实现,要继承servicestack的AppHostHttpListenerBase

 public class AppHost : AppHostHttpListenerBase

    {

       //配置rest接口所存在的编译集合

        public AppHost() : base("ServiceBaseST", typeof(AppHost).Assembly) { }

      //apphost中的配置,主要是配置数据库连接等,在此处配置完成后,rest的服务就都可进行使用

        public override void Configure(Container container)

        { 

         //初始化数据库连接,ormlite也能够支持多数据源连接

            container.Register(c => new OrmLiteConnectionFactory("连接字符串", PostgreSqlDialect.Provider));

        }

    }

 //下边是一个简单的helloworldservice,要继承Service接口,同时要配置服务的

//路由,服务中的方法为Get,Post或者Any,根据路由中的类名进行实现

public class HelloWorldService : Service

    { 

        public Object Get(Hello hello)

        {

            string _restStr = string.Format("hello {0}!", hello.name);

            double[,] a2 = new double[,] { { 1, 2, 3 }, { 4, 5, 6 } };

            return new HelloWorldModel() { name = _restStr, userid = "test", testDoule =a2 };

        } 

    } 

   //服务的路由配置

    [Route("/hello/{name}", "GET")]

    public class Hello : IReturn

    {

        public string name { get; set; }

    }

   //ServiceStack的服务是以model为基础的,所以一般都定义model进行返回,

  //在客户端使用时,url后边加上format=json或者format=xml,就会返回相应格

//式的数据

  public class HelloWorldModel

    {

        public string userid { get; set; }

        public string name { get; set; } 

        public double[,] testDoule { get; set; }

    }

//客户端访问的url:http://localhost:7771//hello/name参数?format=json或者format=xml

ServiceStack怎么用

感谢你能够认真阅读完这篇文章,希望小编分享的“ServiceStack怎么用”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


本文名称:ServiceStack怎么用
网页路径:http://cdxtjz.cn/article/ipgohp.html

其他资讯