WCF是否适合现实世界?

时间:2010-12-13 23:45:49

标签: asp.net wcf

我在这里阅读http://arunatennakoon.blogspot.com/2010/11/things-i-learn-new-this-week.html

Friday, November 12, 2010
Things I learn new this week
1. Never ever use WCF.
---------------------

here is why
1. IIS 7 doesn't support .svc file format by default. So you need to
     

安装一些扩展文件。所以这是   很多新产品的工作。

2. I found it very hard to configure security settings. when i
     

第一次尝试配置   它抛出了各种错误。

3. After installing WCF in IIS, sometimes it's trowing an exception
     

指的是临时目录。至   解决这个问题,你必须重新   编译应用程序和   重新分配

and a lot more...

那么你会冒风险使用WCF吗?

我想听听每年有数百到数十亿的真实世界的例子。

10 个答案:

答案 0 :(得分:5)

它绝对适合现实世界。甚至微软也在其产品中使用它,例如MS Dynamics CRM服务现在在WCF中完成。

答案 1 :(得分:5)

WCF绝对适合现实世界。是的,有时它是矫枉过正,所以首先你必须知道你是否真的需要它。如果您需要WS- *协议栈,或者如果您需要与非MS平台的Web服务互操作性,则需要WCF。我正在使用WCF,我很满意。

IMO WCF是第三个最好的API MS(.NET Core是第一个,ASP.NET MVC第二个)。它有很多可扩展点,几乎可以做任何事情。但这并不容易。 WCF适用于成熟的熟练开发人员 - 这是WCF的主要缺点。

文章中提到的原因很愚蠢。这就像是说ASP.NET 4.0还没有为现实世界做好准备,因为有时你必须运行aspnet_regiis.exe才能在IIS中注册.NET 4.0运行时或者说Lambda表达式还没有为现实世界做好准备,因为你必须学习如何使用它们。

答案 2 :(得分:3)

是的,绝对,WCF已经为现实世界的使用做好了准备,并且正在被全球许多大型和小型公司使用。

是的,在IIS中托管很糟糕 - 但这不是WCF的错,它的IIS实际上只是一个Web服务器 - 而不是应用程序主机。

因此,对于任何严肃的生产级WCF服务,我建议始终自托管。跳过所有与IIS相关的混乱,让您完全控制您的服务和终端 - 听起来对我来说都很好!

答案 3 :(得分:1)

我看到很多关于在HPC世界中使用WCF的文章,所以我想我们必须等待并找出:)

我很喜欢ASMX

答案 4 :(得分:1)

我最近对WCF做了很多咆哮。这是笨重,沉重和过度,但不要误解我是非常丰富和灵活。

是的,现实世界已经准备就绪,已经在成千上万的大型项目中使用过。

我已经在两个项目中使用过它。

现在,如果您只需要轻量级,小设置HTTP调用,请使用ASP.NET MVC中的JSON + HTTP或新的WCF's separate HTTP stack

答案 5 :(得分:1)

我跳过了wcf。

主要原因是它导致了大量的额外代码/工作,而且与现有机制相比收益甚微。

我曾经去过asmx路线,但我发现那些甚至太重了我们通常需要的东西。另外我发现,至少在几年前,许多用于处理“Web服务”的java框架与我们需要的一些高级内容并不相称。

相当坦率地说,使用帖子/获取到ashx文件的常规httpwebrequests是简单,强大和动态的。而你将花费大量时间让wcf工作。

当然,我唯一一次点击visual studio中的“设计师”标签是偶然的。也许我是一个享乐主义者...或者只是厌倦了所有营销人员谈论这些技术如何使我们的应用程序更具“互操作性”。

答案 6 :(得分:1)

在世界各地的大型企业中,有许多使用WCF实现关键任务功能的实际解决方案。我个人认识的一个例子是:英国最大的计算机游戏零售商之一的电子商务网站广泛使用WCF服务来推动网站和实施订单履行。它有数百万的客户产生了大量的点击。

WCF是主流。在具有良好质量保证流程的SDLC中,您提供(与任何框架一样)都没有隐藏的风险,您可以正确地理解和正确使用它。

答案 7 :(得分:1)

WCF比webservice更灵活。我们可以根据我们的要求使用不同类型的传输协议。它还包括现代安全模型。

答案 8 :(得分:0)

到目前为止,部署WCF项目没有任何问题。我正在使用它构建一个非常简单的应用程序(实际上,应用程序并不是那么简单但服务层是)并且已经将WCF部署到三个环境(开发,集成测试和用户测试)而没有任何麻烦。

我使用WCF是因为asmx无法处理循环对象图,而WCF可以。

答案 9 :(得分:0)

我们在项目中处理WCF,并且在大多数情况下,它使得服务启动和运行变得更加简单。 WCF使得管理REST样式服务变得非常简单,提供了一种机制,用于挂钩它的堆栈以自定义Web请求的处理方式,并允许分离特定于Web的内容和业务层。