C#——如何为MSMQ构建动态队列路径名?
我有一个静态字符串,可以很好地在MSMQ中创建队列:C#——如何为MSMQ构建动态队列路径名?,c#,msmq,pathname,C#,Msmq,Pathname,我有一个静态字符串,可以很好地在MSMQ中创建队列: mqListener= @".\Private$\Trader"; MessageQueue.Create(mqListener); 但是,当我尝试此操作时,会出现无效队列名称错误: mqListener= @".\Private$\Trader"; suffx = "set-at-run-time"; newName = mqListener + suffx; MessageQueue.Create(newName ); 这将有
mqListener= @".\Private$\Trader";
MessageQueue.Create(mqListener);
但是,当我尝试此操作时,会出现无效队列名称错误:
mqListener= @".\Private$\Trader";
suffx = "set-at-run-time";
newName = mqListener + suffx;
MessageQueue.Create(newName );
这将有助于:
mqListener= ".\\Private$\\Trader";
suffx = "set-at-run-time";
newName = mqListener + suffx;
MessageQueue.Create(newName );
显然,@是一个编译器指令,而string类并没有考虑到这一点……因此double//将在运行时工作,应该是双反斜杠;单个
\
应该是双精度的
mqListener= ".\\Private$\\Trader";
很可能是在suffx变量中设置了非法字符。我在Linqpad中快速地试用了您的代码,并且在上面列出的变量的默认值方面没有遇到任何问题。无法复制是我的观察。您能否尝试捕获错误并在此处列出一个try-catch?