WCF的开源替代品

时间:2011-06-03 22:44:48

标签: wcf open-source wcf-security

你能告诉我WCF的开源替代方案吗? 我是新手,刚开始使用WCF。我想知道开源的替代品。 此外,与WCF相比,是什么使他们成为更好的选择/不太好。

谢谢, Thothathri

4 个答案:

答案 0 :(得分:6)

有REST服务的开源项目 - 例如Open Rasta也许您还会找到一些基本SOAP服务的开源项目,但我怀疑有一个开源项目实现了所有与WS- *相关的​​东西实现在WCF中。 WS- *协议主要仅在大公司的API中实现--MS,IBM,Oracle,SAP等。原因是:

  • 复杂性 - 实施WS- *协议意味着深入了解大量规范。您还必须非常仔细地实现它们以实现真正的互操作性,并且不要过多地降低性能。
  • 支持 - WS- *协议通常用于B2B解决方案,企业需要一些保证和支持。
  • 成本 - 开发此类API需要很长时间。

即使WCF也只实现WS- *协议的子集。但是WCF是高度可扩展的,所以任何人都可以尝试自己实现这些缺失的协议。

WCF不仅声明REST和SOAP服务。它也是旧版.NET的.NET Remoting和Enterprise服务的替代品。您将找不到也将提供所有此功能的.NET API。

答案 1 :(得分:4)

我还强烈建议您查看 ServiceStack ,这是我开始使用的无配置Web服务框架,可让您轻松快速地开发Web服务,而且几乎没有摩擦。

它提供了一个富有表现力的无摩擦环境,因为您可以使用自己的POCO C#DTO开发Web服务,这也鼓励最佳实践Web服务开发,因为您可以轻松地创建更多批处理,粗粒度的API。

它的目标是通过将C#与HTTP紧密融合来提高工作效率,其中所有返回的C#对象都会自动序列化为所请求的格式,并支持(XML,JSON,JSV,CSV,SOAP 1.1 / 1.2,HTML)。 -框。 C#异常也会自动序列化,让您轻松完成繁琐的工作。

其中一个主要好处是不需要关注外部格式和端点(由框架负责),而您只需在洁净室中开发逻辑,自动连线并且可高度测试,类似DDD的IService类。

答案 2 :(得分:2)

如果您正在尝试创建RESTful服务,则可以使用RestCake

答案 3 :(得分:0)

Mono项目正在为Github中托管的WCF进行持续的努力。如您所知,System.ServiceModel是WCF的主要引擎。您可以在/mono/mcs/class/System.ServiceModel.*下找到这些名称空间的Mono实现。您可以找到与项目相关的更新和相关的贡献信息here