我正在尝试编写一个C#/ .NET应用程序来优化XP工作站的硬盘驱动器
我真的很挣#1.我删除以下项:SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles
重新启动后,系统控制面板显示"无页面文件",但c:\ pagefile.sys仍然存在,并且它正由SYSTEM进程使用,所以我无法删除它,我无法优化HD.我尝试使用PendingFileRenamingOperations并且也爆炸了.我尝试使用WMI:Win32_PageFileSetting,但这只能让你设置大小(不是零 - 默认为2MB).
当然,如果我执行上面列出的手动步骤,它就可以工作.
我想我需要一个API调用来实现这一目标.
我是PowerShell的新手,在C#中运行PowerShell cmd-lets.具体来说,我正在尝试使用Citrix的XenDesktop SDK编写Web应用程序来管理我们的XenDesktop环境.
就像快速测试一样,我提到了Citrix BrokerSnapIn.dll,看起来它给了我很好的C#类.但是,当我使用此错误消息命中.Invoke时:"无法直接调用从PSCmdlet派生的Cmdlet."
我搜索并尝试了一堆东西,但不知道如何调用PSCmdlets.我有点想到我必须使用字符串和运行空间/管道等来做到这一点.
谢谢高级,NB
using System;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
using Citrix.Broker.Admin.SDK;
namespace CitrixPowerShellSpike
{
class Program
{
static void Main(string[] args)
{
var c = new GetBrokerCatalogCommand {AdminAddress = "xendesktop.domain.com"};
var results = c.Invoke();
Console.WriteLine("all done");
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一些代码如下所示.我是IoC和Ninject的新手,不知道如何将IOtherClass注入SomeService,以便Parallel.ForEach工作.我唯一的另一个猜测是将Parallel.ForEach移动到DoWork方法中?
谢谢你的帮助.
public class SomeService
{
Parallel.Foreach(items, item =>
new OtherClass.DoWork(item);
}
public class OtherClass:IOtherClass
{
public void DoWork()
{...}
}
Run Code Online (Sandbox Code Playgroud) 单元测试和TDD的新手,我写了比传统LOB更多的OS实用程序.所以,我理解你如何模拟或存根数据库或文件,但是如下: