温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ServiceStack怎么用

发布时间:2022-01-14 09:10:43 来源:亿速云 阅读:129 作者:小新 栏目:大数据

这篇文章主要介绍了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<IDbConnectionFactory>(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<HelloWorldModel>

    {

        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怎么用”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI