EXE和DLL类型的AppServer的区别(50分)

  • 主题发起人 主题发起人 ziyu
  • 开始时间 开始时间
Z

ziyu

Unregistered / Unconfirmed
GUEST, unregistred user!
书曰: dll是没有自己的地址空间的,它只是映射到调用这个DLL进程的地址空间.
一个DLL被多个进程调用的时候,每一个进程只会获得该DLL的一个映像.
那么DLL类型的APPSERVER被多个CLIENT调用的时候,就不会创立多个线程来服务对应的CLIENT了
那是不是多个CLIENT还是共用一个线程来访问APPSERVER? 这和两层有什么区别?
EXE类型的APPSERVER呢?看起来好象会创立多个线程来满足多个CLIENT的请求
它们之间区别到底是什么? DLL类型的APPSERVER能否创立多个线程来满足多个CLIENT的请求呢?
学习三层的疑问!请高手解答
 
DLL一般是MTS的,个人感觉用起来麻烦一些,还要一个个球的汇出
EXE控制起来灵活一些,我现在一般用EXE做中间层,监控起Client来也灵活些啊
 
1。 DLL AppServer is In-Process , Exe AppServer is Out-Process
2. The Method you used to create AppServer decided the AppServer
is Single-Thread or Multi-Thread.
3. u'd better to buy 李维的书。
 
愿闻其详
 
大道理嘛,也没有什么区别。用起来都一样,但exe的appserver再调用之前必须先运行
该exe;dll比exe占用较少的资源,管理也方便
lha 说的也不错:DLL AppServer is In-Process , Exe AppServer is Out-Process
另外:我做的appserver都是dll的。
 
我认为首先注册方式不一样
其次运行方式不一样,DLL与应用程序在一个进程那调用运行,而EXE与应用程序
不在一个进程内
 
目前在实现中DLl类型的AS只支持单线程。
》》那么DLL类型的APPSERVER被多个CLIENT调用的时候,
》》就不会创立多个线程来服务对应的CLIENT了 那是不是多个CLIENT还是共用一个
》》线程来访问APPSERVER?
其实每个Client对应的肯定是一个线程,且同调用线程,
如:在主线程中一个,你自己创建了一个线程,该线调用AS则又将创建一个。
》》 这和两层有什么区别?
差别在于从逻辑上已经分开了,在开发、维护、分发等环节上都体现了多层处理的优势;
而两层则没有这些优势。这就是本质区别!
 
多人接受答案了。
 
后退
顶部