首先将一个“规则”,如果你的系统跑在局域网上 的话,应该用Remoting,这样速度要快许多,如果是在Internet上,就用WebService,这样安全的通过防火墙。
数据访问层是和数据库运行在一起的(同一机器或同一局域网),在该层直接用ADO.NET连接数据库,逻辑层运行在客户端,通过Remoting or WebService来访问数据访问层,用户界面就直接调用逻辑层。
或者把逻辑层和数据访问层放到一起,在客户端(比较瘦)通过Remoting or WebService来访问逻辑层。这种方法能屏蔽逻辑层(.net存在反编译的安全问题),但服务器的负担会比较重。后者在网络数据量上可能会占一点优势,毕竟原始数据已经被处理过一次了吗。
数据访问层是和数据库运行在一起的(同一机器或同一局域网),在该层直接用ADO.NET连接数据库,逻辑层运行在客户端,通过Remoting or WebService来访问数据访问层,用户界面就直接调用逻辑层。
或者把逻辑层和数据访问层放到一起,在客户端(比较瘦)通过Remoting or WebService来访问逻辑层。这种方法能屏蔽逻辑层(.net存在反编译的安全问题),但服务器的负担会比较重。后者在网络数据量上可能会占一点优势,毕竟原始数据已经被处理过一次了吗。
如果要简单一点的话,在把数据访问层和逻辑层放在一起的情况下,那么直接把数据访问层做成一个DLL让逻辑访问层引用,说白了就是作在一起(同一服务器上)。其实如果系统不太大的话,用不着分得这么清楚。在Internet上的东西当然要用WebService了。不过Remoting也可以用在Internet上。看你怎么选了。
如果只是局域网的话,使用COM+可以在连接,访问数据库上有
优势的,web service只不过是在internet调用时可以用到.