架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14726|回复: 4

[WebAPI] 我的第一个ServiceStack Web Service应用搭建

[复制链接]
发表于 2018-1-15 11:06:52 | 显示全部楼层 |阅读模式
想试下ServiceStack Web和微软自带为webapi有啥区别,看看有啥优点,所以,今天尝试搭建一个ServiceStack Web Service应用

1:新建.net 4.5的web 空项目,然后用nuget命令来安装ServiceStack:

.net版本必须大于等于4.5版本,4.0项目会安装不成功!如下图所示。

QQ截图20180115094804.jpg

2:新建model和service文件夹

创建请求和响应实体,代码如下:

3:在service文件夹创建服务接口

4:新建全局应用程序类命名 Global.asax 到本项目,代码如下:

QQ截图20180115100847.jpg


5:修改web.config配置,新增system.webServer节点,完整配置如下:



至此我们的服务已经完成,运行程序可以看到界面如下,其中GetAllUserInfoRequest和GetByAgeUserInfoRequest可以理解成实际的调用方法,里面定义的参数可以理解成方法的请求参数,如下图:

QQ截图20180115104346.jpg QQ截图20180115104359.jpg QQ截图20180115104511.jpg QQ截图20180115104547.jpg

ServiceStack中的服务方法名为Any,Get以及Post,这也是ServiceStack支持的请求类型,Any表示服务可以通过HTTP Get和HTTP Post两种方式调用。这强化和简化了RESTFull风格的WebService的实现。只需要在这些方法上添加爱[Route(…)]属性即可。在ServiceStack中,方法和方法之间的区别是通过服务的参数及请求对象Request DTO来区分的,而不是像WCF中通过方法名称来区分。这就表示一个请求DTO对象不能在ServiceStack的多个Service中复用

其中在get请求参数后面加上format参数可以返回响应的类型,例如:format=json、format=xml等,另外,好像还支持jsonp格式。

例如:http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml

QQ截图20180115110604.jpg

总结一下吧,相比微软的web api,ServiceStack在web中,好像是没有方法这个概念,都是不同请求实体就是一个方法吧,可以自动生成接口文档,可以通过format来返回响应的格式(虽然微软的也可以,但是感觉比微软简单些)

参考资料:https://www.cnblogs.com/woxpp/p/5012947.html

https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx

https://github.com/ServiceStack/ServiceStack/wiki

最后,附上项目源码吧!

游客,如果您要查看本帖隐藏内容请回复





上一篇:System.NotImplementedException:“未实现该方法或操作。”
下一篇:visual studio加入vim的强大编辑能力,让装逼防不胜防!
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-3-6 15:28:29 | 显示全部楼层
看看啊,怎么样啊
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-4-14 20:08:39 | 显示全部楼层

看看啊,怎么样啊
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-8-8 08:29:02 | 显示全部楼层
ServiceStack Web Service
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-5-4 16:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表