Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 4.0 Silverlight应用程序的基于OData的WCF服务或常规WCF服务_Silverlight 4.0_Wcf_Odata - Fatal编程技术网

Silverlight 4.0 Silverlight应用程序的基于OData的WCF服务或常规WCF服务

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服务中

我刚刚开始评估是否应该使用OData影响的wcf数据服务或标准wcf服务应用程序作为Silverlight应用程序的主要数据源。我想知道在什么情况下哪种方法更好。什么比电线更轻、更容易维护等

到目前为止,我收集的是:

  • 据我所知,VS2010中没有Wcf数据服务模板,我需要先创建一个asp.net web项目,然后添加一个Wcf数据服务,因此这将影响我如何构建项目
  • WCF数据服务通过服务公开实际的表名。我还不知道如何给它们取别名,我也不确定让世界知道我的表结构是不是一个好主意
  • 在标准wcf服务中,我需要针对服务端的EF或域服务类编写linq查询,而在数据服务中,我可以将处理逻辑移动到客户端
  • 乍一看,检查wcf数据服务公开的类似乎比EF公开的类更容易阅读和理解
请把你的想法加进去

谢谢你抽出时间

没有Wcf数据服务 据我所知,VS2010中的模板

不是项目模板-只是一个项目模板(在ASP.NET网站或web应用程序中使用)。WCF数据服务与HTTP紧密耦合,因此它们仅在网站/应用程序中才有意义

WCF数据服务公开实际表 服务上的名字

至少不一定。EF的全部要点是,您可以将数据库的实际物理结构与公开的(概念)模型解耦。您可以完全重命名实体,您可以将多个实体映射到一个表上,将一个实体拆分到多个表上,您可以省略属性-任何您喜欢的

乍一看,检查课程 由wcf数据服务公开 比其他语言更容易阅读和理解 受环境足迹影响的

我对此表示怀疑——因为在默认情况下,WCF数据服务将使用Linq到SQL或EF模型作为其基础。你可以让它变得简单,也可以让它变得复杂

当在公司内部网络中使用Silverlight 4应用程序(不适用于互联网场景)时,使用“常规”WCF服务允许您使用
netTcpBinding
以获得更快的性能(感谢二进制消息编码而不是其他绑定的文本消息),这不是WCF数据服务所能做到的

我认为主要的区别在于SOAP与REST的区别:

  • SOAP(传统的WCF)面向方法——您可以根据方法来思考和设计您的系统——您可以做的事情(
    GetCustomer
    SaveOrder
    等)

  • REST(WCF数据服务方法)是关于资源的,例如,您拥有您的资源和资源集合(例如
    客户
    ),并使用标准HTTP动词(
    GET、POST、PUT、DELETE
    )而不是您定义的单独的特定方法向世界公开这些资源和资源集合

因此,这两种方法都有其优缺点。我想最重要的问题是:你在创建什么样的应用程序,你的目标受众是什么样的用户

更新

  • 对于内部网/内部应用程序,我认为
    netTcpBinding
    (二进制编码)的优势可以证明使用经典的WCF服务是合理的-同样对于数据密集型应用程序,我个人认为基于方法的方法(
    GetCustomer,SaveCustomer
    )更易于使用和理解

  • 对于一个面向公众的应用程序,使用HTTP并尽可能实现互操作可能是您主要关心的问题,因此在这种情况下,我可能会倾向于使用WCF数据服务——用户易于使用、易于理解的URL

没有Wcf数据服务 据我所知,VS2010中的模板

不是项目模板-只是一个项目模板(在ASP.NET网站或web应用程序中使用)。WCF数据服务与HTTP紧密耦合,因此它们仅在网站/应用程序中才有意义

WCF数据服务公开实际表 服务上的名字

至少不一定。EF的全部要点是,您可以将数据库的实际物理结构与公开的(概念)模型解耦。您可以完全重命名实体,您可以将多个实体映射到一个表上,将一个实体拆分到多个表上,您可以省略属性-任何您喜欢的

乍一看,检查课程 由wcf数据服务公开 比其他语言更容易阅读和理解 受环境足迹影响的

我对此表示怀疑——因为在默认情况下,WCF数据服务将使用Linq到SQL或EF模型作为其基础。你可以让它变得简单,也可以让它变得复杂

当在公司内部网络中使用Silverlight 4应用程序(不适用于互联网场景)时,使用“常规”WCF服务允许您使用
netTcpBinding
以获得更快的性能(感谢二进制消息编码而不是其他绑定的文本消息),这不是WCF数据服务所能做到的

我认为主要的区别在于SOAP与REST的区别:

  • SOAP(传统的WCF)面向方法——您可以根据方法来思考和设计您的系统——您可以做的事情(
    GetCustomer
    SaveOrder
    等)

  • REST(WCF数据服务方法)完全是关于资源的,例如,您拥有您的资源和资源集合(例如
    客户
    ),并将其公开给客户