更多的设计/概念问题。设计:网站在同一台机器上调用web服务
在工作中,决定让我们的数据访问层通过webservices调用。所以我们的网站会调用webservices来处理数据库中的任何/所有数据。 Web服务的网站&将位于同一台计算机上(因此不会穿越网线),但该数据库位于单独的计算机上(因此无论如何都需要跨网线旅行)。这是全部内部的,网站,网络服务和数据库都在同一家公司内(AFAIK,网络服务不会被另一方重复使用)。
据我所知:该网站将打开一个端口到webservices,并且webservices将打开另一个端口并通过网络连接到数据库服务器以获取/提交数据。穿越电线的旅程是不可避免的,但我担心站在中间的Web服务。
我同意需要在功能(如业务层,数据访问层等)之间有不同层次,但这对我来说似乎过于复杂。我也感觉到会有一些性能问题。
在我看来,最好是在解决方案中直接引用(DAL)程序集,从而否定第一个端口到端口的连接。
支持和反对这个想法既任何想法(或链接),将不胜感激
附:我们是一个.NET商店(从vb迁移到C#3.5)
编辑/更新 标记Dathan作为答案,我仍然没有完全销售(尽管倾斜它,我依然没有完全卖掉没有我担心的那么糟糕),他提供了一个深思熟虑的答案。我赞赏所有的反馈意见。
不使用网络服务作为您的DAO的链接。这对你的代码以及你的web服务器来说是一个巨大的性能影响。为什么要添加该图层?所以你可以使用AJAX调用来打DAO?你真的想让你的用户界面直接与你的DAO对话吗? Bad move,imho – hunter