我想得到一些人的意见,增加一个网络串行化层。在我的工作中,我们希望开始使用web服务来处理我们的一些操作。
是我们为ASP.NET MVC应用程序所遵循的当前项目结构:
MVC应用程序(视图/控制器/视图模型/服务层)-> BAL (业务访问层)-> DAL (数据访问层)
MVC应用程序、BAL和DAL是独立的程序集。
还有一个领域(模型)组件在MVC/BAL/DAL层之间共享。
其计划是创建一个处理所有安全功能的web服务。此web服务将由多个web应用程序使用。当我们对Security服务进行更改时,我们只想在一个地方修改代码,而不是每个Web应用程序。因此,我更希望MVC项目中没有绑定到web服务的任何内容。
所以我想在BAL和DAL层之间添加一个Web服务层。
,所以像这样的东西:
MVC项目(视图/控制器/视图模型/服务层)
呼叫
BAL层(处理缓存/ DB事务)
呼叫
Web服务层
呼叫
DAL层
你有什么意见?
发布于 2011-07-22 04:34:55
几个想法。
您正在将web服务层放在BAL和DAL之间。这意味着一切都需要通过您的web服务,包括与安全性无关的功能。我认为这增加了一层复杂性。如果多个网站正在使用该web服务,则创建它作为应用程序/服务的支撑点。然后,您可以从应用程序的不同层调用服务,具体取决于哪个层需要该服务。通常,您将创建一个具有干净接口的Webservice包装器,这样您就可以轻松地从应用程序中的任意层调用Web服务。
为了便于讨论,让我们假设您的web服务处理用户登录和密码的验证。您可以在MVC项目中直接连接到您的webservice包装器,以查看用户数据是否有效,如果是,则可以将它们登录。稍后,如果用户执行某个函数,业务层需要检查用户是否具有权限,则该层可以使用api包装器来调用api来查看用户是否具有权限,等等。
MVC APP
/ \
BAL --> Web Service Wrapper
/ \
DAL WCF WEB SERVICE发布于 2011-07-21 18:01:12
作为一个支持应用程序的人,这个应用程序的分层也是荒谬的。
我建议将您的GUI尽可能地靠近您的GUI服务。
https://stackoverflow.com/questions/6779688
复制相似问题