首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 ServiceStack 构建跨平台 Web 服务

ServiceStack是.Net和Mono开源框架,相对WCF,MVC及Web API而言它是开发Web服务与Web应用有力替代品,它越来越普及。...强制远程 Web 服务最佳实践、 基于公约 DTO 标准为其 Web 服务接口,ServiceStack 还提供预置响应状态对象,可用于撰写 DTO,鼓励更加直接和简单错误处理方案,显然和WCF是明显不同路线...本文假定您有一些熟悉 WCF 和.NET 框架。 为了更好地展示WCF 概念可以如何转化为 ServiceStack 概念,首先会在WCF中实现服务层。...我会告诉你如何通过将WCF Web 服务移植到等效使用 ServiceStack 转换为跨平台 Web 服务。 WCF 使用数据合同建立客户端和服务器之间通信手段。...ServiceStackWCF相同。 WCF 需要何数据对象和数据成员打上标记; 否则,WCF 简单地忽略它们。 这是 ServiceStackWCF不同地方。

1.6K50
您找到你想要的搜索结果了吗?
是的
没有找到

WCF系列教程之WCF会话

2、WCF回话机制通过设置服务协定ServiceContract上SessionMode枚举值来设置服务协定是否要求、允许或者拒绝基于回话绑定.枚举值有以下三种: (1)、Allowed:允许回话...3、影响WCF会话机制因素 (1)、设置了SessionMode值为Required,当采用BasicHttpBinding时,因为BasicHttpBinding不支持会话,所以程序报错. (2...二、WCF回话和Asp.Net中回话 1、WCF中回话主要功能有以下: (1)、他们由调用程序显示启动或者关闭 (2)、会话期间传递消息按照接收消息顺序进行处理。...(4)、不存在与 WCF 会话相关联常规数据存储区。...1、WCF服务层搭建:新建契约层、服务层、和WCF宿主,添加必须引用(这里不会参考本人前面的随笔),配置宿主,生成解决方案,打开Host.exe,开启服务。

75150

.NET 4 上REST 框架

软件应用所处运行环境会对其架构设计产生巨大影响。设计软件应用架构,一定要深入考虑软件所处运行环境。脱离开软件所处运行环境,比较不同架构 之间优劣是没有意义。...NET上分布式应用架构风格从WCF开始统一了Remoting,SOAP,以及对REST支持。...现在我们来看下最新.NET平台上都有哪些REST框架和工具库: WCF WebHttp Services in .NET 4 :WCF 3.5开始支持REST,实现方式上还是RPC 方式,Windows...Communication Foundation (WCF)Web HTTP 编程模型可以向非 SOAP 终结点公开 WCF 服务操作。...地址:http://www.servicestack.net/ RestSharp :这只是一个支持WindowsPhone,Mono for Android, MonoTouch跨平台Rest

1.1K100

WCF之旅(4):WCF序列化

WCF中,我们把Service调用相关提取出来即为我们经常说Contract,Service提供者和Client之间共享是Service Contract——而不传统OO概念下Type。...理解了SO基本原理,我们来看看WCF,从WCF全称来分析——Windows Communication Foundation,顾名思义,他就是解决分布式互联系统中各相互独立子系统如何交互问题,换句话说...我们前边已经提到,各个子系统之间是通过XML Message进行交互,所以我们可以 把WCF看成是一个完全处理XML Message构架,WCF所有的功能都是围绕着Message来展开——如何把一个...所以 在WCFSerialization可以看成是Serializer通过反射机制分析对象所对应Type原数据,从而提供一种算法实现Managed TypeXSD转化。...其中DataContractSerializer为WCF默认Serializer,如果没有显式定采用另外一种Serializer,WCF会创建一个DataContractSerializer 序列化NET

722110

谈谈WCFData Contract(4):WCF Data Contract Versioning

而对于WCF,对于SOA,由于涉及是对多个系统之间交互问题,如何有效地解决不断改变需求所带来问题就显得更为重要:Service端版本变化能否保持现有Consumer正常调用,Consumer...,Service端Order和Client端CustomOrder具有很大差异,但是通过WCF Datacontract Attribute适配,他们是相互匹配。...其实在WCF中解决这样一个问题方案简单而直接,那就是在Data Contract中定义一个额外成员来存储没有在成员列表中定义信息。...[原创]谈谈WCFData Contract(1):Data Contract Overview [原创]谈谈WCFData Contract(2):WCF Data Contract对Generic...支持 [原创]谈谈WCFData Contract(3):WCF Data Contract对Collection & Dictionary支持 [原创]谈谈WCFData Contract

72660

WCF之旅(1):创建一个简单WCF程序

为了使读者对基于WCF编程模型有一个直观映像,我将带领读者一步一步地创建一个完整WCF应用。本应用功能虽然简单,但它涵盖了一个完整WCF应用基本结构。...对那些对WCF不是很了解读者来说,这个例子将带领你正式进入WCF世界。 在这个例子中,我们将实现一个简单计算服务(CalculatorService),提供基本加、减、乘、除运算。...松耦合是SOA一个基本特征,WCF应用中客户端和服务端松耦合体现在客户端只须要了解WCF服务基本描述,而无须知道具体实现细节,就可以实现正常服务调用。...图4 通过HTTP-GET方式获取WCF服务元数据 在进行真正WCF应用开发时,一般不会直接通过编码方式进行终结点添加和服务行为定义,而是通过配置方式进行。...基于IIS服务寄宿要求相应WCF服务具有相应.svc文件,.svc文件部署于IIS站点中,对WCF服务调用体现在对.svc文件访问上。

63621

WCF之旅(8):WCFSession和Instancing Management

WCFSession 我们知道,WCF是MS基于SOA建立一套在分布式环境中各个相对独立Application进行Communication构架。他实现了最新基于WS-*规范。...WCFSession和ASP.NETSession 在WCF中,Session属于Service Contract范畴,是一个相对抽象概念,并在Service Contract定义中通过SessionModel...WCF保证处于某个Session中传递Message按照他发送次序被接收 WCF并没有为Session支持而保存相关状态数据。...WCFSession实现和Instancing Management 在上面我们说了,虽然WCF支持Session,但是并没有相关状态信息被保存在某种介质中。...实际上对WCF也具有相似的Activation。不过WCF不仅仅创建对应Service Instance,而且还构建相关Context, 我们把这些统称为Instance Context。

22520

WCF后续之旅(3): WCF Service Mode Layer 中枢—Dispatcher

在本系列第一部分、第二部分中,我们对WCFchannel layer进行了深入讨论。我们接下来继续讨论WCFservice mode layer。...Step 20:最后作一些资源释放和清理工作 WCF后续之旅: WCF后续之旅(1): WCF是如何通过Binding进行通信 WCF后续之旅(2): 如何对Channel Layer进行扩展——...(5): 通过WCF Extension实现Localization WCF后续之旅(6): 通过WCF Extension实现Context信息传递 WCF后续之旅(7):通过WCF Extension...Application Block 集成 WCF后续之旅(9):通过WCF双向通信实现Session管理[Part I] WCF后续之旅(9): 通过WCF双向通信实现Session管理[Part...) WCF后续之旅(12): 线程关联性(Thread Affinity)对WCF并发访问影响 WCF后续之旅(13): 创建一个简单WCF SOAP Message拦截、转发工具[上篇] WCF后续之旅

64990

C# 通过ServiceStack 操作Redis——ZSet类型使用及示例

Sorted Sets是将 Set 中元素增加了一个权重参数 score,使得集合中元素能够按 score 进行有序排列 /// /// Sorted Sets是将...Set 中元素增加了一个权重参数 score,使得集合中元素能够按 score 进行有序排列 /// 1.带有权重元素,比如一个游戏用户得分排行榜 /// 2.比较复杂数据结构...return base.iClient.StoreUnionFromSortedSets(newkey, keys); } #endregion } ServiceStack...// 获取setId多个集合交集,并把交集添加intoSetId集合中,返回交集数据总数 client.StoreIntersectFromSortedSets...(intoSetId, setIds); /// 获取setId多个集合并集,并把交集添加intoSetId集合中,返回交集数据总数

15330

2012 ASP.NETIIS MVP

2012年4月1日晚上收到微软邮件,告知我ASP.NET/IIS MVP Renew成功 ,从2006开始已经连任ASP.NET MVP 7届。...不知不觉在博客园写了八年博客,非常感谢dudu 为我们创办博客园,其他感谢的话就不说了,把提交给微软Renew MVP文章这里贴下,一起回顾下2011年写博客,过去一年(2011年1月到2011...这99篇博客涉及到了.net、asp.net开发、WCF,sql server,windows server、windows phone等技术方向,还有微博http://t.qq.com/geffzhang...自定义Appfabric Cache配置提供程序 http://www.cnblogs.com/shanyou/archive/2011/02/27/1966158.html 使用API Key验证WCF...2197986.html Windows Runtime(WinRT) 揭秘 http://www.cnblogs.com/shanyou/archive/2011/09/17/WinRT.html ServiceStack.Redis

761100

C# 通过ServiceStack 操作Redis——List类型使用及示例

Redis list实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外内存开销, /// /// Redis list实现为一个双向链表,即可以支持反向查找和遍历...,更方便操作,不过带来了部分额外内存开销, /// Redis内部很多实现,包括发送缓冲队列等也都是用这个数据结构。..., timeOut); //阻塞命令:从一个fromListId头部移除一个值,添加到另外一个toListId头部,并返回移除值,阻塞时间为sp...(listId); //移除listId中,与value相同数据,并返回移除数量 client.RemoveItemFromList...//从一个list尾部移除一个数据,添加到另外一个list头部,并返回移动值 client.PopAndPushItemBetweenLists(fromListId

19310

C# 通过ServiceStack 操作Redis——Set类型使用及示例

Set:用哈希表来保持字符串唯一性,没有先后顺序,存储一些集合性数据 /// /// Set:用哈希表来保持字符串唯一性,没有先后顺序,存储一些集合性数据.../// 1.共同好友、二度好友 /// 2.利用唯一性,可以统计访问网站所有独立 IP /// public class RedisSetService...keys集合中数据对比,fromkey集合中不存在keys集合中,则把这些不存在数据放入newkey集合中 /// public void StoreDifferencesFromSet...base.iClient.StoreDifferencesFromSet(newkey, fromkey, keys); } #endregion } ServiceStack...(intoSetId, setIds); //把fromSetId集合中数据与withSetIds集合中数据对比,fromSetId集合中不存在keys集合中,则把这些不存在数据放入

16920

WCF之旅(3):在WCF中实现双工通信

图2 订阅-发布 二、实例演示:创建基于双工通信WCF应用 接下来我们通过一个案例演示基于双工通信WCF应用。为简单起见,我们沿用计算服务例子。...WCF采用基于服务契约调用形式,客户端正常服务调用需要服务契约,同理服务端回调客户端依然需要通过描述回调操作服务契约,我们把这种服务契约称为回调契约。...在WCF中,回调对象通过当前OperationContextGetCallback方法获得(T代表回调契约类型)。...关于WCF并发是一个重要而且复杂的话题,本书下卷会对其进行单独介绍。...关于不同版本IIS实现机制,可以参考《WCF技术剖析(卷1)第7章有关IIS服务寄宿内容。

994100
领券