async-await

    23热度

    5回答

    我想知道是否存在ConcurrentQueue的实现/包装,类似于BlockingCollection,其中从集合中取出不会阻塞,而是取而代之的是异步,并会导致异步等待,直到项目被放置在队列。 我已经想出了我自己的实现,但它似乎没有按预期执行。我想知道如果我正在重塑已经存在的东西。 这里是我的实现: public class MessageQueue<T> { ConcurrentQu

    3热度

    1回答

    我有一个异步等待表达式返回错误结果的问题。 private Task<int> A { get { return TaskEx.RunEx<int>(async() => { Thread.Sleep(10000); return 2; }); } } private Task<int> B {

    0热度

    1回答

    我目前正在玩弄WPF 4.5和Visual Studio 11开发者预览版。我正在使用异步等待东西在应用程序事件处理程序中异步执行http请求。问题是,首先调用await-able方法挂起应用程序线程直到完成。随后的所有通话都可以,即在执行应用程序时仍然可用。 这里是我的代码(仅有意义摘录): XAML <toolkit:AutoCompleteBox FilterMode="None"

    3热度

    2回答

    在我的应用程序(Windows 8 Metro)中,我以序列化格式在本地文件夹中存储了一些对象。这是读回来的方法(见下文)。 如果我把这种方法用Task.Run,​​我可以得到对象: var entity= Task.Run<Entity>(() => GetASync<Entity>(file)).Result; ,但如果我用的await关键字,它不工作 - 在该方法中A线(的readObj

    0热度

    2回答

    我期待到使用新的异步/ C#中5等待图片关键词和阅读this article 我看到下面的例子 async void ArchiveDocuments(List<Url> urls) { Task archive = null; for(int i = 0; i < urls.Count; ++i) { var document = await Fetch

    32热度

    4回答

    我试图在F#中使用C#库。该库大量使用异步/等待。我想在F#的async { ... }工作流中使用。 我看到我们可以Async.AwaitTask异步C#方法返回Task<T>,但那些返回纯Task? 也许,是否有帮助将这些转换为Async<unit>或将Task转换为Task<unit>,因此它将与Async.AwaitTask一起使用?

    0热度

    1回答

    这对于异步响应3层应用程序,我想使用该模型实现的GUI监听器(订阅): GUI 后端 远程服务器 GUI: private async void readFloatButton_Click(object sender, RoutedEventArgs e) { FloatValueLabel.Content = (await srvProtocol.ReadFloat("ReadFlo

    74热度

    2回答

    是否有人可以请客气一点,以确认我是否已正确理解Async await关键字? (使用CTP的版本3) 到目前为止,我已经计算出,在方法调用之前插入await关键字本质上做了2件事情,它创建了一个立即返回值和B.它创建了一个“continuation”在异步方法调用完成时调用。在任何情况下,延续都是该方法的代码块的其余部分。 所以我想知道的是,这两个代码在技术上是否等价,如果是这样,这是否基本上意味

    73热度

    9回答

    我有以下代码: WebClient wc = new WebClient(); string result; try { result = await wc.DownloadStringTaskAsync(new Uri("http://badurl")); } catch { result = await wc.DownloadStringTaskAsync(ne

    6热度

    2回答

    我真的不明白为什么await和async不提高我的代码在这里的性能like they're supposed to。 虽然持怀疑态度,但我认为编译器应该重写我的方法,以便下载可以并行完成......但似乎并没有实际发生。 (我做意识到await和async不创建单独的线程;然而,操作系统应该做在parallal的下载,并在原来的线程中调用回我的代码 - 应该不是) 我是不是用async和await