Silverlight 4.0 Silverlight应用程序的基于OData的WCF服务或常规WCF服务
我刚刚开始评估是否应该使用OData影响的wcf数据服务或标准wcf服务应用程序作为Silverlight应用程序的主要数据源。我想知道在什么情况下哪种方法更好。什么比电线更轻、更容易维护等 到目前为止,我收集的是:Silverlight 4.0 Silverlight应用程序的基于OData的WCF服务或常规WCF服务,silverlight-4.0,wcf,odata,Silverlight 4.0,Wcf,Odata,我刚刚开始评估是否应该使用OData影响的wcf数据服务或标准wcf服务应用程序作为Silverlight应用程序的主要数据源。我想知道在什么情况下哪种方法更好。什么比电线更轻、更容易维护等 到目前为止,我收集的是: 据我所知,VS2010中没有Wcf数据服务模板,我需要先创建一个asp.net web项目,然后添加一个Wcf数据服务,因此这将影响我如何构建项目 WCF数据服务通过服务公开实际的表名。我还不知道如何给它们取别名,我也不确定让世界知道我的表结构是不是一个好主意 在标准wcf服务中
- 据我所知,VS2010中没有Wcf数据服务模板,我需要先创建一个asp.net web项目,然后添加一个Wcf数据服务,因此这将影响我如何构建项目
- WCF数据服务通过服务公开实际的表名。我还不知道如何给它们取别名,我也不确定让世界知道我的表结构是不是一个好主意
- 在标准wcf服务中,我需要针对服务端的EF或域服务类编写linq查询,而在数据服务中,我可以将处理逻辑移动到客户端李>
- 乍一看,检查wcf数据服务公开的类似乎比EF公开的类更容易阅读和理解
netTcpBinding
以获得更快的性能(感谢二进制消息编码而不是其他绑定的文本消息),这不是WCF数据服务所能做到的
我认为主要的区别在于SOAP与REST的区别:
- SOAP(传统的WCF)面向方法——您可以根据方法来思考和设计您的系统——您可以做的事情(
,GetCustomer
等)SaveOrder
- REST(WCF数据服务方法)是关于资源的,例如,您拥有您的资源和资源集合(例如
客户
),并使用标准HTTP动词(
)而不是您定义的单独的特定方法向世界公开这些资源和资源集合GET、POST、PUT、DELETE
- 对于内部网/内部应用程序,我认为
(二进制编码)的优势可以证明使用经典的WCF服务是合理的-同样对于数据密集型应用程序,我个人认为基于方法的方法(netTcpBinding
)更易于使用和理解GetCustomer,SaveCustomer
- 对于一个面向公众的应用程序,使用HTTP并尽可能实现互操作可能是您主要关心的问题,因此在这种情况下,我可能会倾向于使用WCF数据服务——用户易于使用、易于理解的URL
netTcpBinding
以获得更快的性能(感谢二进制消息编码而不是其他绑定的文本消息),这不是WCF数据服务所能做到的
我认为主要的区别在于SOAP与REST的区别:
- SOAP(传统的WCF)面向方法——您可以根据方法来思考和设计您的系统——您可以做的事情(
,GetCustomer
等)SaveOrder
- REST(WCF数据服务方法)完全是关于资源的,例如,您拥有您的资源和资源集合(例如
),并将其公开给客户客户