我正在使用代理 UWP 组件项目模板 ( https://visualstudiogallery.msdn.microsoft.com/d2e9cac0-66a8-464a-a902-55ae765c8e6e ),并测试我是否可以从代理组件调用异步方法。
所以我替换了 BrokeredComponent1 类:
namespace Server
{
public sealed class BrokeredComponent1
{
public string GetValue()
{
return "Hello .NET world";
}
}
}
经过 :
namespace Server
{
public sealed class BrokeredComponent1
{
public IAsyncOperation<string> GetValueAsync()
{
return Task.Run(() =>
{
Thread.Sleep(3000);
return "Hello .NET world";
}).AsAsyncOperation();
}
}
}
然后在 MainPage 中的 Button_Click 方法中调用它,如下所示:
string brokeredComponentValue = await bc.GetValueAsync();
一切似乎都在调试模式下工作(“Hello .NET world”在 3 秒后出现),但我无法让它在发布模式下工作,当我点击按钮时应用程序就会崩溃。
任何想法?