所以,我已经使用WCF服务几个月了,我想知道为什么会有人使用WCF服务而不是WCF服务来使用basicHttp webservice?
有人告诉我,RIA服务对企业级应用程序不好,我想知道为什么?
在没有RIA的情况下,你似乎必须在两个方面编写验证逻辑,客户端和服务器。此外,RIA很容易处理角色和成员资格。
如果你想使用WCF basicHttp webservice,需要多少额外的工作?使用RIA的好处是什么?然后..。有没有人有使用webservice的企业级basicHttp应用程序的好例子?
谢谢!
发布于 2011-03-29 09:17:51
Silverlight中的WCF支持的问题与嵌入到Silverlight插件中的.NET框架的有限子集有关,因为它本质上是.NET框架的缩小版本。作为Silverlight插件中缩减的.NET运行时的结果,它并不像您从标准.NET项目中获得的那样完全支持WCF。这样做是为了从客户的角度快速下载SL,并增加SL作为产品的上市时间。请记住,SL插件不依赖于正在安装的现有.NET框架,这就是为什么市场上有Linux phone7和OS版本的原因。
随着时间的推移,他们继续在中添加按需功能。例如,Silverlight5将支持WS-Trust (有关5中新特性的完整列表,请参阅here )。
我建议您阅读此参考资料,了解通过尝试从客户端调用WCF服务可能会错过的内容:
http://msdn.microsoft.com/en-us/library/cc896571(v=vs.95).aspx
请记住,您可以很容易地通过RIA服务端点代理对更复杂的WCF服务的调用,RIA服务端点实际上是直接从服务器端调用服务。
至于使用标准WCF而不是RIA ...当您的中间层具有多种客户端类型时,这是有好处的,但是使用RIA时,您可以简单地将您的端点公开为SOAP 1.1端点,并要求人们使用该范例而不是WCF进行连接。您不必使用RIA或不使用RIA;您可以按自己认为合适的方式混合搭配以满足您的需求。就我个人而言,如果可能的话,我很喜欢使用RIA。
发布于 2011-03-29 14:17:49
公平地说,RIA服务已经经历了成长的烦恼。我的一些最大的缺点(比如不能从Invoke方法返回不是实体的复杂对象,以及缺乏对以MVVM方式使用的像样的支持)大多已经在RIA Services SP1中得到了修复。我认识的一些在大型企业应用程序中使用它的人对它感到非常头疼(至少在早期是这样)。我不太确定在这方面的情况,至于他们的特殊问题是否已经得到解决。
也就是说,我个人认为这是一项奇妙的技术。它使标准的WCF服务中令人痛苦的任务变得容易(我最喜欢的是能够在客户机上指定查询你的域服务中返回IQueryable的方法,这些方法在服务器上执行-使排序/过滤/分组/分页变得轻而易举)。它是否适合您取决于您的场景。它的主要设计目的是使在实体上执行CRUD操作变得容易,所以如果这是您主要需要的,那么它是完美的。然而,RIA服务被设计为仅供Silverlight应用程序使用(至少目前是这样)。您可以从其他客户端访问它们,但您无法获得使它们如此出色的所有功能。因此,如果您需要支持其他客户端平台,它可能不适合。
我认为RIA服务很棒,但最终它取决于您的方案,即它们是否适合您的项目。作为一种技术,它是针对特定场景的,并不是为了解决世界上所有的软件开发问题。一些可能会抱怨它的人可能没有按照它的预期使用它,并突破了它的限制(也就是说,它也不是完美的,而且有它的问题)。如果您可以提供更多细节(例如应用程序的规模、它需要支持的客户端平台以及项目中的开发人员数量),我可能会给您一些更有帮助的建议。
希望这能帮到你。
克里斯
https://stackoverflow.com/questions/5466789
复制相似问题