2009-12-30 72 views
1

我正在拆分N层堆栈以允许独立扩展层,更好地部署独立性,并且我想知道人们目前正在为服务边界通信技术选择什么。当前用于.NET到.NET服务的WCF技术替代品?

服务本身和服务的所有“客户端”都可以通过内部网络访问彼此,并且当前都是.NET 3.5 SP1(Windows服务3.5,ASP.NET MVC 1.0,ASP.NET WebForm 3.5)。

虽然我听说过WCF在不久的将来改变方向的传言,但我倾向于Windows Communication Foundation。这些谣言有效吗?

我已经否定了将构建为自定义ASP.NET MVC服务以及作为旧式SOAP Web服务的想法,因为WCF将以更灵活的传输选择为代价来定制响应。

是否真的有其他的.NET服务技术可以考虑?


谢谢大家的意见。很高兴听到我对WCF的倾向仍然是正确的选择,并且它会持续一段时间。

回答

6

我还没有听说过有关WCF改变方向的任何信息。

我也会说这是你要找的答案。你有大量的绑定选项可以工作并提供不同程度的性能。

您可以在这里看到WCF和传统服务技术之间的性能比较:

http://msdn.microsoft.com/en-us/library/bb310550.aspx

+0

感谢您的性能对比。 – mckamey 2009-12-31 01:57:22

2

目前,WCF仍然是.NET服务之间的通信API是最明显的选择。

1

.NET通信中的任何“新方向”都可能构建在WCF平台上,该平台具有极高的可扩展性。 WCF是您应该为此考虑的唯一技术堆栈。

2

WCF可能是您最好的选择。 WCF在.NET 4中并没有发生巨大的变化,所以迁移应该非常直截了当。

(也许你在想的Windows Workflow Foundation,它是在.NET 4的近完全重写,并导致重大迁移问题....)的

话虽这么说,你的选择 - 你可以写您自己的网络层使用System.Net命名空间。这只需要更多的工作,因为你基本上重复了WCF免费提供的许多好处。