本文主要介绍ServiceStack的安装,与第一个项目的创建。

详细了解ServiceStack,可参考官方网站: https://servicestack.net/ ,

Github上ServiceStack地址:https://github.com/ServiceStack/ServiceStackVS

一.安装

ServiceStack支持vs2012,2013. vs2012的用户安装还有2个前提条件:

1. 安装Microsoft Visual Studio Shell Redistributable 。

2. Update to the latest NuGet.

不安装上面2个包的话,创建项目会报错,至于NuGet,编译项目的时候用到。

安装ServiceStack步骤:

1. 打开vs. Tools->Extensions and Updates.

2. 在Online-> Visual Studio Gallery 里面搜索ServiceStackVS.

3. 搜到后直接安装,重启vs,就完成了。

二.创建项目

创建ServiceStackVS项目,打开vs,创建项目,在installed->template->visual C#中,会有8个ServiceStack模版。我们先创建一个空项目。

会有1个solution,4个project. 好了,第一个项目到此完成。

三. Hello world示例

ServiceStack由3部分构成:Request DTO (Data Transefer Object),Service implementation,Response DTO .

1. Request DTO和Response DTO在WebApplication2.ServiceModel项目中的hello.cs中:

[Route("/hello/{Name}")]
   public class Hello : IReturn<HelloResponse>
   { 
       public string Name { get; set; }
   }

public class HelloResponse
   {
      public string Result { get; set; }
   }

Route属性定义了服务访问服务的方式,部署服务或者运行服务,将浏览器地址栏输入http://<root_path>/hello/world,可以看到结果:

如果要返回json格式,可以在url后面加上 ?format=json 。

2 .Service implementation,在WebApplication2.ServiceInterface 项目中MyServices.cs文件中,

public class MyServices : Service
   {
      public object Any(Hello request)
     {
          return new HelloResponse { Result = "Hello, {0}!".Fmt(request.Name) };

}

}

这定义了返回结果,Any表示可以接受任何(post,get等)http请求。

github上面的英文文档有很详细的介绍。https://github.com/ServiceStack/ServiceStack/wiki .

ServiceStack 入门(一)的更多相关文章

  1. ServiceStack 入门(二)

    本文介绍创建一个简单的基于ServiceStack的项目. 1. 新建一个solution 2.创建完成后有4个project. ServiceModel是定义Request DTO 和 Reques ...

  2. ServiceStack.OrmLite 入门(一)

    软件环境: Win7 x64 SP1 SQL Server 2008r2 Visual Studio 2017 Professional 目标:取出示例数据库 ReportServer 的表 Role ...

  3. [你必须知道的NOSQL系列]专题二:Redis快速入门

    一.前言 在前一篇博文介绍了MongoDB基本操作,本来打算这篇博文继续介绍MongoDB的相关内容的,例如索引,主从备份等内容的,但是发现这些内容都可以通过官方文档都可以看到,并且都非常详细,所以这 ...

  4. 采访ServiceStack的项目领导Demis Bellot——第1部分(网摘)

    ServiceStack是一个开源的.支持.NET与Mono平台的REST Web Services框架.InfoQ有幸与Demis Bellot深入地讨论了这个项目.在这篇两部分报道的第1部分中,我 ...

  5. 采访ServiceStack的项目领导Demis Bellot——第1部分(转)

    ServiceStack是一个开源的.支持.NET与Mono平台的REST Web Services框架.InfoQ有幸与Demis Bellot深入地讨论了这个项目.在这篇两部分报道的第1部分中,我 ...

  6. 二:Redis快速入门及应用

    Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用. ...

  7. .Net Core使用Redis的一个入门简单Demo

    本例子讲述一个在.Net core环境中对Redis数据库进行增删改查操作. 首先,要安装好Redis数据库,至于怎么安装,本文不再赘述,可以自行百度,有很详细的教程. 安装好之后,在CMD中输入 r ...

  8. .NET分布式缓存Memcached从入门到实战

    一.课程介绍 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是 ...

  9. .NET分布式缓存Redis从入门到实战

    一.课程介绍 今天阿笨给大家带来一堂NOSQL的课程,本期的主角是Redis.希望大家学完本次分享课程后对redis有一个基本的了解和认识,并且熟悉和掌握 Redis在.NET中的使用. 本次分享课程 ...

随机推荐

  1. Life is short, you need Python

    今年四五月份的时候我打算学一门计算机语言. 计算机语言实在是很多,选哪一个? 其实这个选择就和去市场买菜类似,想明白了自己的需求才能做好决定.你想做什么饭,就去买什么菜.想做南瓜粥,就要去买南瓜,想要 ...

  2. 【iOS开发-35】有了ARC内存管理机制,是否还须要操心内存溢出等问题?——面试必备

    答案:必需要操心啊,ARC也不是万能的. 这里主要是涉及到集合类的数据类型. 比方数组,我们定义了一个可变数组muarr1,然后把一个对象p1加到muarr1中,此时会对这个对象retain一次,相当 ...

  3. 【概率论】【POJ 3682】【King Arthur's Birthday Celebration】

    题意:进行翻硬币实验,若k次向上则结束,进行第n次实验需花费2*n-1的费用,询问期望结束次数及期望结束费用 设F[i]为第i次结束时的概率 F[i]=  c(i-1,k-1)*p^k*(1-p)^( ...

  4. asp:UpdatePanel中js失效问题已解决

    1.js function textSAll(o) { o.select(); } var dddd_dd = function () { $(":text").on(" ...

  5. Linux学习2——文件与目录

    一.写在前面  在本节将介绍Linux下文件与目录的一些基本概念以及一些基本操作. 二.完成目标 1.了解文件和目录的一些基本概念 2.操作文件和目录的相关命令 3.文件内容查阅命令 4.文件查询命令 ...

  6. 玩转Android---事件监听篇---第2篇

    事件监听篇---第二篇 下面是各种常用控件的事件监听的使用 ①EditText(编辑框)的事件监听---OnKeyListener ②RadioGroup.RadioButton(单选按钮)的事件监听 ...

  7. 使用 Oracle Sql plus的一点经验

    1    当你输入的语句有错误的时候,不用重新输入语句,直接输入ed就会出现一个文本文档显示之前输入的语句,这样你可以在文本文档里面修改语句,最后点保存. 2 三个set:设置每行显示的记录长度:SE ...

  8. Java和PHP在Web开发方面的比较

    比较 PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行的比较: 一. 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容 ...

  9. XML字符串转化json

    public static String XMLTOJSON(String XMLContent,String tag) {  XMLSerializer xmlSerializer = new XM ...

  10. 一个简单的shell脚本

    一个简单的shell脚本 一个简单的shell脚本 编写 假设我想知道目前系统上有多少人登录,使用who命令可以告诉你现在系统有谁登录: 1.[KANO@kelvin ~]$ who2.KANO tt ...