从 MSMQ Outqueue 获取消息计数时出现问题
Issue while Getting message count from MSMQ Outqueue
我正在尝试获取传出队列中的消息数。我正在使用 C# 和 Powershell 来实现这一点。
我正在使用以下命令
Get-MsmqOutgoingQueue | Format-Table -Property MessageCount
此命令已在 powershell 命令提示符下成功执行。但是当我从 C# 尝试这个时,它给出了以下异常:
The type initializer for 'Microsoft.Msmq.PowerShell.Commands.Utilities' threw an exception.
下面是我用来执行此命令的 C# 代码:
string scriptTest = "Get-MsmqOutgoingQueue | Format-Table -Property MessageCount";
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(scriptText);
pipeline.Commands.Add("Out-String");
Collection<PSObject> results = pipeline.Invoke();
runspace.Close();
string s = "";
foreach (PSObject obj in results)
{
s = obj.ToString();
}
Console.WriteLine(s);
我通过授予所有权限来尝试此代码,但它给出了相同的异常。
通过在启动标记中添加以下 useLegacyV2RuntimeActivationPolicy 解决了该问题。
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
</startup>
</configuration>
我正在尝试获取传出队列中的消息数。我正在使用 C# 和 Powershell 来实现这一点。 我正在使用以下命令
Get-MsmqOutgoingQueue | Format-Table -Property MessageCount
此命令已在 powershell 命令提示符下成功执行。但是当我从 C# 尝试这个时,它给出了以下异常:
The type initializer for 'Microsoft.Msmq.PowerShell.Commands.Utilities' threw an exception.
下面是我用来执行此命令的 C# 代码:
string scriptTest = "Get-MsmqOutgoingQueue | Format-Table -Property MessageCount";
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(scriptText);
pipeline.Commands.Add("Out-String");
Collection<PSObject> results = pipeline.Invoke();
runspace.Close();
string s = "";
foreach (PSObject obj in results)
{
s = obj.ToString();
}
Console.WriteLine(s);
我通过授予所有权限来尝试此代码,但它给出了相同的异常。
通过在启动标记中添加以下 useLegacyV2RuntimeActivationPolicy 解决了该问题。
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
</startup>
</configuration>