本文主要介绍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 .