没有WCF数据服务在VS2010 模板,我知道的,
不是项目模板 - 只是一个项目模板(一个ASP.NET网站或web应用程序中使用)。 WCF DataServices与HTTP紧密耦合,因此它们只在网站/应用程序中才有意义。
WCF数据服务通过服务暴露实际表 名称。
不!至少不一定。 EF的全部意义在于,您可以将数据库的实际物理结构从(概念性)型号中分离出来。您可以完全重命名实体,您可以将多个实体映射到单个表格上,将实体分割为多个表格,您可以省略属性 - 任何您喜欢的东西!
乍一看检查由WCF数据服务公开的类 似乎 更容易阅读和理解比 那些由EF
我怀疑它暴露 - 因为默认情况下,WCF数据服务将真正使用Linq-to-SQL或EF模型作为其基础。你可以尽可能简单或复杂。
在公司内部网络中使用Silverlight 4应用程序时,使用“常规”WCF服务可以使用netTcpBinding
获得更快的性能(感谢二进制消息编码与其他绑定的文本消息相比)不适用于互联网场景) - 不是你可以用WCF DataServices做的事情。
在我看来,主要的区别是SOAP与REST的区别:
SOAP(传统WCF)是面向方法 - 你认为和设计你的系统的方法方面 - 你的事情可以做(GetCustomer
,SaveOrder
等)
REST(WCF的DataService的做法)是所有关于资源,如你有你的资源和资源的集合(如Customers
),你揭露那些向世界,与标准的HTTP动词(GET, POST, PUT, DELETE
),而不是您定义
所以这两种方法都各有独立的具体方法利弊。我想最重要的问题是:您创建了什么样的应用程序,以及您定位的是哪类用户受众?
更新:
内部网/内部应用程序,我想一个netTcpBinding
(二进制编码)的优势将证明采用经典的WCF服务 - 也为数据密集型的应用程序,我个人找到基于方法的方法(GetCustomer, SaveCustomer
)更易于使用和理解
对于面向公众的应用程序,使用HTTP并尽可能互操作可能是您的主要关注点,所以在那种情况下,我会可能有利于WCF Da ta服务 - 易于使用,易于理解的用户网址
感谢您的回答。那么现在我正在研究这两种方法并试图找到同样问题的答案。哪一个是哪种类型的应用程序更好的选择..应用程序的类型是..)1.数据密集型内联网应用程序2.)数据密集型公众面向互联网应用程序 – user20358 2010-11-14 10:24:18
@ user20358:更新我的答复与一些额外的信息 – 2010-11-14 11:03:49