首先将一个“规则”,如果你的系统跑在局域网上 的话,应该用Remoting,这样速度要快许多,如果是在Internet上,就用WebService,这样安全的通过防火墙。
数据访问层是和数据库运行在一起的(同一机器或同一局域网),在该层直接用ADO.NET连接数据库,逻辑层运行在客户端,通过Remoting or WebService来访问数据访问层,用户界面就直接调用逻辑层。
或者把逻辑层和数据访问层放到一起,在客户端(比较瘦)通过Remoting or WebService来访问逻辑层。这种方法能屏蔽逻辑层(.net存在反编译的安全问题),但服务器的负担会比较重。后者在网络数据量上可能会占一点优势,毕竟原始数据已经被处理过一次了吗。

解决方案 »

  1.   

    那么逻辑层通过什么方法来调用数据访问层,如果我有一部分功能要在Internet上使用时,是不是那一部分功能采用WebService啊??
      

  2.   

    也可以用Remoting啊。
    如果要简单一点的话,在把数据访问层和逻辑层放在一起的情况下,那么直接把数据访问层做成一个DLL让逻辑访问层引用,说白了就是作在一起(同一服务器上)。其实如果系统不太大的话,用不着分得这么清楚。在Internet上的东西当然要用WebService了。不过Remoting也可以用在Internet上。看你怎么选了。
      

  3.   

    因为我们要做三个系统,其中每个系统一个DLL,想将数据访问层公用出来可以给其它三个DLL用,请问可不可以给这方面简单的例子看一看啊
      

  4.   

    例子不好找的,
    如果只是局域网的话,使用COM+可以在连接,访问数据库上有
    优势的,web service只不过是在internet调用时可以用到.