我想在运行时知道我当前的代码正在执行的几个可能的主机进程中的哪一个。主机进程已在 Biztalk 管理级别配置名称,但我需要从代码内部知道我所在的进程。
我没有找到任何受支持的方法来做到这一点,我什至一直在寻找不受支持的方法:-)
编辑:感谢 tomasr 的回答。我需要它主要用于记录/跟踪目的。不仅要显示运行 ode 的主机,还要确定适当的跟踪级别。
这也意味着,我需要在图书馆层面深入了解它,而且它必须很快。例如,我不能去获取调用堆栈来找出代码正在运行的顶级组件(编排、管道等)。
另一方面,我只能在单例构造函数中弄清楚一次。这将在每个 AppDomain 中调用一次,因此可能需要一些时间来查找。但我可能在那里没有非常有意义的调用堆栈,所以我们回到第一方:-/
Edit2:Biztalk 管理数据库必须包含我需要的信息。它知道哪些主机在哪个服务器上启动,以及(可能)这些主机进程的进程 ID。如果有人有一个指针,我可以在那里开始寻找,那也会对我有所帮助。