Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#——如何为MSMQ构建动态队列路径名?_C#_Msmq_Pathname - Fatal编程技术网

C#——如何为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 ); 这将有

我有一个静态字符串,可以很好地在MSMQ中创建队列:

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?