首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF + N-tier =为什么?

WCF + N-tier =为什么?
EN

Stack Overflow用户
提问于 2011-08-08 22:35:31
回答 3查看 1.3K关注 0票数 0

我看到了使用N层和WCF的项目。在解决方案中创建WCF项目时,通常使用单词"service?

主要问题:

为什么使用WCF相对于N-tier有什么好处?

哪种情况应该与WCF和N-tier一起使用?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-08 23:12:46

服务没有UI。它们公开方法和/或实体(在使用REST的情况下),并以数据格式(通常是XML和/或JSON)返回结果。

WCF是一个用于构建服务的工具。你不能用它构建UI或独立的应用程序,你只能用它来编写服务,然后由应用程序/UI/其他服务使用。

顺便说一句,分层和分层是有区别的。分层通常指的是硬件:因此,服务层是运行一个或多个服务的一个或多个服务器,这些服务器连接到其他层--在其他服务器(“应用服务器”)上运行的业务逻辑。通常,您有一个UI (“表示”)层,调用服务层( WCF服务),调用业务层或域模型,调用数据访问层,调用一个或多个数据库和/或用户代理。所有这些都在微软自己的文档中得到了很好的记录,比如Pattern& Practices Guides:http://msdn.microsoft.com/en-us/practices/bb190351

票数 0
EN

Stack Overflow用户

发布于 2011-08-08 22:43:16

我发现自己经常遇到的情况是一个胖客户端连接到云中的服务器。我们不希望将SQL部署到所有客户端。我们托管数据库并通过WCF业务数据服务公开访问。然后,胖客户端连接到WCF服务。

票数 0
EN

Stack Overflow用户

发布于 2011-08-08 22:46:24

首先是众所周知的层与层的问题(您可以搜索SO问题),层是逻辑划分层是物理层。要将一个层拆分为一个层,您需要一个服务(而不仅仅是对项目程序集的引用)。在中间有一个真正的层有很多好处1.你可以通过将项目拆分到不同的服务器上来扩展项目。您可以潜在地将多台计算机用于客户端层。2.您可以有不同的客户端(桌面/web/非.NET客户端),甚至可以将服务作为公共API使用(尽管这可能有风险)。3.你确定你不会跳过你的层,因为你有物理隔离,即它确保了正确性。

也就是说,我已经看到web服务层方法在许多项目中应用,这些项目实际上并不需要它,而且很可能永远也不会需要它。我认为引入这样一个层通常是过度设计的结果。

我也对更有经验的人的意见感兴趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6983753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档