微软开源WCF 并入 .NET Foundation项目

微软开源WCF 并入 .NET Foundation项目_第1张图片

  英文原文:WCF Client is Open Source

  微软下了开源的决心之后,好消息接踵而来。之前是 .NET Core(CoreCLR 和 CoreFX,然后是编译器平台 Roslyn 和 Orleans。刚才,微软又宣布将其 SOA 框架 WCF 开源了,GitHub 地址是 https://github.com/dotnet/wcf。

  到目前为止,WCF 已经获得了 223 次星藏和 68 次 fork。WCF 是 Windows Communication Foundation 的简称,它以 .NET Core 框架为目标平台,意在让开发者搭建分布式架构,并以此搭建可跨平台运行的服务。WCF 最早构建与 Windows 平台,但随着 .NET Core 的开源,WCF 在未来也会支持 OS X 和 Linux。

  和 .NET 一样,目前在 GitHub 开源的部分是完整 Windows Communication Foundation 产品的一个子集,针对的平台就是 .NET Core。其它部分会在后续陆续补全。已经开源的部分主要可以被开发者用来开发 Windows Store WCF 应用,与之相关的具体库有:

  • ServiceModel.Primitives
  • ServiceModel.Http
  • ServiceModel.NetTcp
  • ServiceModel.Duplex
  • ServiceModel.Security

  根据微软官方博客的信息,开源项目中已知可以正常工作的有以下部分:

微软开源WCF 并入 .NET Foundation项目_第2张图片

  而已知无法正常启用的有:

微软开源WCF 并入 .NET Foundation项目_第3张图片

  在 Hacker News 上,这则消息一度成为头条,然而内容下的评论大多偏向负面。很多开发者都抱怨。不是对开源本身,而是 WCF 这个产品。现有的 WCF 过于沉重、繁复。不过,开源之后有助于社区或开发者根据自己的需求定制轻量化的 WCF 框架。

  主要的意见都是 WCF 太复杂、太重了,过度设计而实现糟糕,而且大部分应用场景都有更好的技术选择:

  • ASP.NET MVC Web API
  • ServiceStack
  • Nancy(.NET 微框架,很像 Ruby 里的 Sinatra)

  可能唯一剩下的场景是将两层系统转变为三层,只需改改配置文件。

  ServiceStack 的项目负责人 Demis Bellot(@mythz)吐槽说:

WCF 的 REST 是我见过任何框架中最丑的 HTTP/REST 实现,而它的 PRC 方法签名、SOAP 格式和代码生成客户端代理提供了今天 Web 服务中最脆弱的技术组合之一(参考这里,中文译文)

你可能感兴趣的:(微软开源WCF 并入 .NET Foundation项目)