MassTransit多个使用者都在不同的名称空间中收到相同的消息吗?

问题描述

=(IF(C2="Off";0;B2 * 0,075+D2 * 0,038)+E2 * 0,002) * 24 * 30,5

发布者通过consolePublisher1名称空间中的publishendpoint发送消息

$Currency = '=(D2*"0,109")'

$a = New-Object -comobject Excel.Application
$a.visible = $True
$b = $a.Workbooks.Add()
$b.worksheets.add()

$c = $b.Worksheets.Item(1)
$c.Cells.Item(1,2) = 'cpu'
$c.Cells.Item(1,3) = 'Power'
$c.Cells.Item(1,4) = 'RAM'
$c.Cells.Item(1,5) = 'disk'
$c.Cells.Item(1,6) = 'Cost'
$c.Cells.Item(1,7) = 'Currency'

$d = $c.UsedRange
$d.Interior.ColorIndex = 20
$d.Font.ColorIndex = 1
$d.Font.Bold = $True

$c.Cells.Item(2,2) = '2'
$c.Cells.Item(2,3) = 'On'
$c.Cells.Item(2,4) = '8'
$c.Cells.Item(2,5) = '100'
$c.Cells.Item(2,6).Formula = "=(IF(C2=`"Off`";0;B2*`"0,075`"+D2*`"0,038`")+E2*`"0,002`")*24*`"30,5`""
$c.Cells.Item(2,7) = $Currency

$d.EntireColumn.AutoFit()
$intRow = 2

我还有另外两个项目,肯定有两个不同的名称空间,这些名称空间意外地具有用于处理ManagerCreated Event的相同使用者名称,因此通常我已经添加了该使用者

Exception from HRESULT: 0x800A03EC
At C:\Users\admineb\Desktop\PSskript\Costs.ps1:38 char:1
+ $c.Cells.Item(2,0 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : OperationStopped: (:) [],COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException

我希望masstransit创建两个扇出交换,并以这样的名称排队

Environment:
 Three Projects (one publisher and three subscribers):
   consoleConsumer1
   consoleConsumer2
   consolePublisher1

但是它只会创建一个名为:

的扇出交换
_publishEndPoint.Publish<ManagerCreated>()
这两个使用者竞争哪个

来消费消息。我知道我可以创建队列终结点,以便交换将消息发布到两个不同的队列,但是按照惯例,有什么办法发生这种情况?

为什么项目名称名称空间不影响交换和队列名称

在消费者注册中使用名称间的最佳方法是什么?

解决方法

已经为此创建了an issue,并且在下一发行版中将提供使用任何端点名称格式器包括名称空间的功能。