【发布时间】:2011-08-13 00:24:30
【问题描述】:
我在 .NET 中有一个现有的 WCF,它通过 wsdl 和代理类使用。很快,就会有多个消费者,WCF 上的负载会非常高。我被要求用 REST 开发一个新的 WCF,这在性能方面可能是有益的。我对 REST 了解不多,因此请告诉我实施 RESTFUL WCF 是否会显着提高性能?请提供任何链接以实现相同的操作。
提前致谢, Vinoth Khanna.S
【问题讨论】:
我在 .NET 中有一个现有的 WCF,它通过 wsdl 和代理类使用。很快,就会有多个消费者,WCF 上的负载会非常高。我被要求用 REST 开发一个新的 WCF,这在性能方面可能是有益的。我对 REST 了解不多,因此请告诉我实施 RESTFUL WCF 是否会显着提高性能?请提供任何链接以实现相同的操作。
提前致谢, Vinoth Khanna.S
【问题讨论】:
您还可以使用 WCF 数据服务轻松地为您的数据提供 REST 接口。
最简单的方法是构建数据的实体框架模型,然后将该模型公开为 WCF 数据服务。然后使用 OData 协议(即 REST + AtomPub)公开所有数据。
Kiran 当然是对的,REST 本身并不能提高性能。我假设您希望您的 UI 直接访问 REST 服务,而不是通过包含手写方法来读取和写入数据的 Web 服务。在这种情况下,可能会有一些性能提升,但我不会太指望它。
另见:
http://msdn.microsoft.com/en-us/library/cc668794.aspx
和
http://en.wikipedia.org/wiki/WCF_Data_Services
如果您想以 JSON 格式返回结果,最简单的方法是添加 WCF 数据服务工具包:
【讨论】:
据我所知,REST 不是为了提高性能,它使您的 webmethods URL 可访问,并使这些 URL 更可预测和合乎逻辑。我将从这个视频http://channel9.msdn.com/Events/PDC/PDC08/TL35 开始,然后使用 WCF REST Starter Kit http://www.asp.net/downloads/starter-kits/wcf-rest
【讨论】: