Pie*_*kel 7 .net c# tcp appdomain
我想知道是否应该为每个实例使用一个进程,或者我是否应该使用AppDomain
s 在单个进程中运行多个实例.
我有一个服务器应用程序遵循设计类似telnet.用户始终通过TCP连接,服务器保持工作站上显示的客户端会话的完整状态.
该软件需要支持最多至少500个并发连接,可能更多.典型的安装需要连续运行3到7个应用程序实例,尽管除了一个实例之外只有几个连接(它们用于测试,参考环境等).在内部,出于开发目的,每个环境最多有40个环境,最多20个并发连接.我的目标主机环境将是64位Windows.
我知道IIS使用的模型只有一个进程和多个进程AppDomain
,但我也看到每个实例都有一个进程的优点.
我应该使用哪个以及为什么?
编辑:
不同的实例涉及同一应用程序的不同版本,这些版本不能一起运行AppDomain
.此外,不同的实例不必彼此通信,仅用于管理目的的主服务.
总结:
大概每个实例通过不同的端口进行通信
有了这些要求,我永远不会考虑构建与 IIS 相同的功能。相反,我会将它们作为完全独立的应用程序运行。
顺便说一句,您说 IIS 只有 1 个具有多个应用程序域的进程是错误的。IIS 可以为单个站点启动多个进程。这被称为网络花园。此外,IIS 为其拥有的每个应用程序池启动至少一个进程。您可以将这些视为在 IIS 服务器上执行的单独 w3wp.exe 进程。
通过通用流程运行所有内容的唯一好处是,如果宿主提供对所有内容都通用的有价值的东西。例如日志记录接口或故障处理。这将非常复杂,编写、设置和维护几乎没有任何好处。
最后,用户数量并不重要,因为这将受应用程序的资源使用情况的控制。这可能意味着网络、内存甚至磁盘,具体取决于您的应用程序执行的功能。
归档时间: |
|
查看次数: |
1790 次 |
最近记录: |