ServiceStack 是一个功能齐全的服务开发套件,接近Java下的SSH的结构和思路,整体类似轻量级的SSH,主要是用于REST模式的接口服务的开发,后文中简称SS。
和SS功能相似的框架有WCF、WebAPI,SS是WCF和WebAPI的有力替代者,效率和功能上超越前两者,但资料和样例较少,并且在4.0版开始收费,但多数情况3.x已足够用,以下是针对3.9.x版本。
SS主要包含REST服务、轻量ORM数据库封装、IoC依赖注入管理,数据压缩加密、二进制传输、权限及认证管理以及asp.net MVC模板支持等功能模块,下面列出一般会用到主要模块和功能:
ServiceStack.dll 核心服务模块,提供REST、SOAP等服务,可以兼容WCF。
ServiceStack.OrmLite 轻量数据库访问模块,支持多种数据库,有独有的数据优化方案。
ServiceStack.Redis NoSQL数据库访问模块,内部包含有队列服务支持,通常可用于大数据的数据缓存支持。
ServiceStack.Interfaces 接口功能模块,可以通过接口扩展和增加功能以及模块,并且支持动态加载和插件模式。
Funq 第三方依赖注入库,类似Spring或nSpring的功能,具备类自动装配功能,并可自定装配规则。
【身份验证和权限管理】
ServiceStack.Authentication 内置认证接口,除此外还具有OpenID以及OAuth接口模块,以及facebook,twitter等的客户端接口(当然后两者国内意义不大)。
支持第三方身份和权限组件。
【数据处理和转换】
ServiceStack.Text 序列化和反序列化组件,可以实现json和.net对象之间的无缝转换对接,据称要超过全球最快的Newton.JSON序列化库。
【高级的和云服务、大数据处理相关的】
ServiceStack.Plugins.MsgPack、ServiceStack.Plugins.ProtoBuf 消息包和压缩支持,可以跨服务器二进制模式传输数据,共享类资源。ProtoBuf是主要在linux下使用的, google的产品。
ServiceStack.Redis.Messaging 消息队列支持模块。
【模板支持】
RazorRockstars asp.net 下的Razor模板处理库,包含模板(View)相关功能,没有路由功能,除了Razor模板以外,还有支持其他的模板解析和处理的库。
本文出自 “LifeStage” 博客,请务必保留此出处http://soaop.blog.51cto.com/6164600/1584695
原文地址:http://soaop.blog.51cto.com/6164600/1584695