如果我部署一个C#控制台应用程序,它具有以下功能:C#多控制台应用程序运行,并隔离
- 读取消息(ActiveMQ的)
- 处理邮件内容
- 写入结果到数据库(SQL Server )
会有多次运行此问题,例如如果我创建了一个批处理文件并运行了100个实例呢?考虑到每个实例将使用相同的共享DLL例如Apache.NMS.ActiveMQ。
另一种选择是多次部署应用程序,但我宁愿不必管理重复的文件夹。我现在也避开线程,但这将是未来进一步发展的一个选择。
只是想澄清这些DLL会发生什么,并检查是否不存在线程类型冲突一个实例将另一个实例的处理结果写入数据库...
你想通过运行同一个应用程序的100个实例来实现什么?所有实例是以相同的配置运行还是完全相同? – Glenn 2012-02-07 12:48:42
有很多方法可以让多个进程从相同的消息队列中吸入并更新相同的数据库表。只有其中的一个进程崩溃应该是相当灾难性的,不可恢复的数据丢失。但试试吧。至少你会知道它是否运行得更快。这是不太可能的。 – 2012-02-07 12:56:39
@Glenn完全相同,但尝试的原因是这个想法最终将使用Ninject加载到不同的DLL中,以在运行时实现相同的接口。 – finoutlook 2012-02-07 16:55:56