加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 每个实例的AppDomain或进程?

发布时间:2020-12-15 08:08:24 所属栏目:百科 来源:网络整理
导读:我想知道是否应该为每个实例使用一个进程,或者是否应该使用AppDomains在单个进程中运行多个实例. 我有一个服务器应用程序遵循设计类似telnet.用户始终通过TCP连接,服务器保持工作站上显示的客户端会话的完整状态. 该软件需要支持最多至少500个并发连接,可能
我想知道是否应该为每个实例使用一个进程,或者是否应该使用AppDomains在单个进程中运行多个实例.

我有一个服务器应用程序遵循设计类似telnet.用户始终通过TCP连接,服务器保持工作站上显示的客户端会话的完整状态.

该软件需要支持最多至少500个并发连接,可能更多.典型的安装需要连续运行3到7个应用程序实例,尽管除了一个实例之外只有几个连接(它们用于测试,参考环境等).在内部,出于开发目的,每个环境最多有40个环境,最多20个并发连接.我的目标主机环境将是64位Windows.

我知道IIS使用的模型只有一个进程和多个AppDomain,但我也看到每个实例都有一个进程的优势.

我应该使用哪个以及为什么?

编辑:
不同的实例涉及同一应用程序的不同版本,这些版本无法一起在单个AppDomain中运行.此外,不同的实例不必彼此通信,仅用于管理目的的主服务.

解决方法

总结一下:

>你有一个像服务器应用程序的telnet.
>您将在同一台计算机上运行此应用程序的多个版本.
>不同的实例不需要相互通信;只有共同的服务.

据推测,每个实例都通过不同的端口进行通信

有了这些要求,我永远不会考虑构建与IIS相同的功能.而是我将它们作为完全独立的应用程序运行.

顺便说一下,你说错了,说明IIS只有一个进程有多个应用程序域. IIS可以为单个站点启动多个进程.这称为Web Garden.此外,IIS为其拥有的每个应用程序池至少启动一个进程.您可以将这些视为在IIS服务器上执行的单独的w3wp.exe进程.

通过一个共同的流程运行一切的唯一好处是,如果主机提供了一切对所有东西都有的价值.例如,日志记录界面或故障处理.编写,设置和维护对于收效甚微来说非常复杂.

最后,用户数量并不重要,因为它将受应用程序资源使用的控制.这可能意味着网络,内存甚至磁盘,具体取决于您的应用程序执行的功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读