async-await

    1热度

    1回答

    我正在为我的应用程序开发备份功能,它应该检查所需的文件夹是否已经存在,否则创建它。 因为我使用VB.Net我不能使用GetCompleted事件(只有在C#中,我没有经验)。 我目前在FolderExistsOrCreate功能代码是这样的: Private Async Function FolderExistsOrCreate(ByVal Name As String) As System.Th

    4热度

    1回答

    我在阅读C# 5.0 in nutshell,在阅读作者的观点后,我对我应该采用什么感到困惑。我的要求是说,我有一个非常长的运行(计算繁重)任务,例如说,计算数百万文件的SHA1(或其他)散列,或者真的任何其他事情是计算量很大并且可能需要一些时间,我应该如何开发它(如果有问题,请使用VS 2012,C#5.0),so that I can also report progress to the u

    43热度

    2回答

    我想了解如何等待C#中的异步工作,并且有一件事让我困惑不已。我了解任何使用await关键字的方法都必须标记为async。 我的理解是,当有一个关于await关键字的行被击中时,该行下面的代码不会被执行。异步操作开始在await行中执行语句,并将控制权返回给可以继续执行的调用方法。 问题1:这个假设是否正确或await关键字下面的代码是否仍然执行? 其次,假设我调用服务方法异步并需要返回其结果。 r

    0热度

    1回答

    我有以下TAP方法来读取&写数据到我的插座终点 private async Task ReadFromAddress(string address) { IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse(address), 4001); Socket client = new Socket(AddressFa

    2热度

    1回答

    如何为Task而不是Task<TResult>创建TaskCompletionSource?

    2热度

    1回答

    在下面的示例中,当异步“Process”函数被同步调用时,我可以看到对“await Task.Delay(1000)”的调用导致UI挂起。 我知道我可以通过调用“等待Task.Delay(1000).ConfigureAwait(false)”或在另一个任务中包装“Process”调用来避免挂起。我可以理解问题是与synchornizationcontext有关,并且我知道await正在对它进行某

    3热度

    2回答

    我想测试是否从异步方法返回正确的类型。此方法在依赖类中使用另一个异步方法。的相关类实现了这个接口: Task<string> DownloadStringAsync(string url); 我想要测试的方法是这样的: public async Task<T> GetData<T>(string url) where T : class , new() { var jsonData

    4热度

    3回答

    我正在尝试新的异步和等待关键字。我公司生产的以下异步函数: private async static Task<string> GetStringAsync(string pageAddress) { HttpClient client = new HttpClient(); return client.GetStringAsync(pageAddress); } 我明

    1热度

    1回答

    我有一个使用Microsoft.Bcl.Async Nuget包的PCL项目,它具有一些通用代码。现在,当我引用的程序集,并使用一些异步方法在我的WP8项目中,我得到以下错误: Cannot convert source type 'System.Threading.Tasks.Task<byte[]> [System.Threading.Tasks, Version=1.5.11.0, Cult

    8热度

    1回答

    在任何时候,我都可以收到一个方法调用,需要长时间运行才能满足。 有几种这些方法。因为他们共享资源,所以它们不能同时运行很重要 - 每个应该按顺序运行。 通常情况下,我想简单地作出顺序的电话: var result1 = await Foo1Async(); var result2 = await Foo2Async(); 然而,在这种情况下,方法给我打电话是异步: void Bar1()