我正在为我支持的应用程序配置新的测试服务器.它使用大约35个不同的MSMQ队列,并且手动创建这些队列显然不是很有趣.特别是因为应用程序的生产版本也在移动服务器,所以我将重新做到这一点.我正在寻找的是一种创建这些队列的自动化方法,而Power
shell(基于我对它的有限了解)似乎是要走的路.
有没有人有关于我如何实现这一目标的任何提示?
解决方法
我认为你应该采取的方法是创建自己的Powershell cmdlet(Commandlet).基本上,您从基类继承,重写方法,这是从Powershell调用该cmdlet时调用的方法.这样你就可以在C#中做你需要做的事情,只需从Powershell中调用它.图如下:
编辑:忘记链接到MSDN创建cmdlet:http://msdn.microsoft.com/en-us/library/dd878294(VS.85).aspx
[Cmdlet(VerbsCommunications.Get,"MyCmdlet")] public class MyCmdlet : Cmdlet { [Parameter(Mandatory=true)] public string SomeParam {get; set;} protected override void ProcessRecord() { WriteObject("The param you passed in was: " + SomeParam); } }
然后,您将从Powershell中调用此cmdlet,如下所示:
PS>Get-MyCmdlet -SomeParam 'whatever you want'
然后,要使用MSMQ,有许多在线样本如何在C#中完成此任务: