小编And*_*rts的帖子

Windows Azure数据中心位置在哪里?

我正在寻找某种地图来显示全球Windows Azure MS数据中心的物理位置.你能帮我吗?

azure azure-storage

21
推荐指数
2
解决办法
6万
查看次数

在键盘事件中使用CancellationToken调用Task.Delay时的TaskCanceledException

我试图延迟在WinRT中从键盘事件调用的方法(在示例中为SubmitQuery())的处理,直到一段时间内没有其他事件(在这种情况下为500毫秒).

我只想在我认为用户输入完成后运行SubmitQuery().

使用下面的代码,当Task.Delay(500,cancellationToken.Token)时,我不断收到System.Threading.Tasks.TaskCanceledException; 叫做.我在这做错了什么?

CancellationTokenSource cancellationToken = new CancellationTokenSource();

private async void SearchBox_QueryChanged(SearchBox sender, SearchBoxQueryChangedEventArgs args)
{

        cancellationToken.Cancel();
        cancellationToken = new CancellationTokenSource();

    await Task.Delay(500, cancellationToken.Token);

    if (!cancellationToken.IsCancellationRequested)
    {
        await ViewModel.SubmitQuery();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asynchronous cancellationtokensource windows-runtime cancellation-token

16
推荐指数
4
解决办法
8084
查看次数

使用System.Diagnostics.Process.Start运行程序会导致应用程序错误

在我的电脑上打开DWG文件:

"C:\Program Files\AutoCAD LT 2007\acadlt.exe" "%1"
Run Code Online (Sandbox Code Playgroud)

如果我从命令行运行它:

"C:\Program Files\AutoCAD LT 2007\acadlt.exe" "C:\Some Path\Test.dwg"
Run Code Online (Sandbox Code Playgroud)

AutoCAD Lite打开DWG文件.

类似地,如果我打开命令提示符并使用参数运行相同的exe,它可以正常工作.

但是,如果我使用

var proc = new System.Diagnostics.Process();
var info = new System.Diagnostics.ProcessStartInfo();
Run Code Online (Sandbox Code Playgroud)

然后

info.FileName = "C:\Some Path\Test.dwg";
proc.StartInfo = info;
proc.Start();
Run Code Online (Sandbox Code Playgroud)

要么

info.FileName = "C:\Program Files\AutoCAD LT 2007\acadlt.exe";
info.Arguments= "C:\Some Path\Test.dwg"
proc.StartInfo = info;
proc.Start();
Run Code Online (Sandbox Code Playgroud)

要么

info.FileName = "cmd.exe";
info.Arguments= "C:\Program Files\AutoCAD LT 2007\acadlt.exe" "C:\Some Path\Test.dwg"
proc.StartInfo = info;
proc.Start();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:


acadlt.exe - 应用程序错误

"0x01317c8c"处的指令引用"0x01317c8c"处的存储器.内存无法"读取".

单击OK以终止程序单击CANCEL以调试程序

确定取消


顺便提一下,如果我使用调试器逐步执行代码,代码就可以了.

有谁知道如何使用Process.Start打开这个DWG?

c# system.diagnostics

3
推荐指数
1
解决办法
5643
查看次数