WCF的开源替代品
有一些REST服务的开源项目 - 例如Open Rasta也许你还会发现一些基本SOAP服务的开源项目,但是我怀疑是否有一个开源项目实现了WCF中实现的所有WS- *相关内容。 WS- *协议大多只在来自大公司--MS,IBM,Oracle,SAP等的API中实现。原因是:
- 复杂性 - 实现WS- *协议意味着深入到大量规范。您还必须非常小心地实施它们,以实现真正的互操作性,并且不会过多地降低性能。
- 支持 - WS- *协议通常用于企业需要一些保证和支持的B2B解决方案。
- 成本 - 开发这样的API需要很长时间。
即使WCF只实现WS- *协议的子集。但是WCF是高度可扩展的,所以任何人都可以尝试自己实现一些这些丢失的协议。
WCF不仅仅声明REST和SOAP服务。它也从旧的.NET版本中替换.NET Remoting和Enterprise服务。你不会找到一个.NET API,它也会提供所有这些功能。
我也强烈建议检查出ServiceStack,这是一个免费配置的Web服务框架,我开始,让您轻松,快速地开发Web服务具有非常小的摩擦。
它提供了一个富有表现力的无摩擦环境,因为您可以通过使用自己的POCO C#DTO来开发Web服务,这也鼓励最佳实践Web服务开发,因为您可以轻松地创建更多批处理应用程序,完整的,粗粒度的API。
它旨在通过将C#与HTTP紧密融合,将所有返回的C#对象自动序列化为所需的格式(XML,JSON,JSV,CSV,SOAP 1.1/1.2,HTML)开箱。 C#Exceptions还会自动序列化,让您轻松完成繁琐的事情。
一个主要的好处就是不需要与外部格式和端点(这是由框架照顾),并留给你一个洁净室开发你的逻辑而言,自动连线和高度可测试,类DDD的IService类。
在没有付费扩展的情况下使用是一种痛苦 – 2016-09-19 19:32:06
@Daniel在2013年9月之前的所有ServiceStack开发都可以在BSD下的https://github.com/servicestackv3/servicestackv3获得 - 2013年9月以后的所有开发都是由全职这是支持ServiceStack全职开发的第四版付费员工。 – mythz 2016-09-19 20:01:24
Mono项目对于承载于Github的WCF正在进行努力。如你所知,System.ServiceModel是WCF的主要引擎。您可以在/mono/mcs/class/System.ServiceModel.*
下找到这些命名空间的Mono实现。你可以找到项目相关的更新和相关的贡献信息here
https://github.com/mono/mono/tree/master/mcs/class/System.ServiceModel – 2013-06-04 11:32:30
你有什么想念WCF吗? – 2011-06-03 22:50:54
今天WCF开放源代码。 – niaher 2015-05-21 04:23:55