问题标签 [async-await]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 异步等待关键字错误
我添加了 AsyncCtpLibrary v.3。从异步网页中获取了一些示例代码。把它包裹在一个 TestFixture 中来玩。
我收到错误:任何想法为什么?
错误 1 - 类、结构或接口成员声明中的标记“void”无效
错误 2 - ; 预期的
代码:
c# - 获取异步方法的结果
我有对 Web 服务进行异步调用的方法。像这样的东西:
我想提供同步替代方案:
但它会阻止Result
随叫随到。因为它与异步操作在同一个线程上调用。如何同步获得结果?
谢谢!
asp.net - asp.net webform中如何使用async/await实现异步页面?
我们现在可以在 ASP.NET MVC 4 中使用 async/await 关键字。
但是如何在 ASP.NET WebForms 中使用它呢?
c# - 无法从 Windows 8 Metro 应用程序中的 StorageFile 正确读取所有文件
我正在 Windows 8 Metro 应用程序中开发一个简单的应用程序,我正在尝试从 PicturesLibrary 中检索文件,我输入的代码如下:
然后我使用他们的 ImageSource 显示这些图像。我遇到的问题是,有时它会全部显示,有时是一两个,有时它不显示任何图像,我不明白这是因为等待方法 GetFileAsync() 还是我可能的其他事情失踪。
提前致谢 :)
c# - 在 .NET 4.0 中创建可与 .NET 4.5 中的“await”一起使用的异步方法
我有一个在 .NET 4.0 和 VS2010 中使用 C# 的 .NET 项目。
我想做的是向我的库中添加一些异步重载,以便使用 await 关键字在 .NET 4.5 中的用户更轻松地进行异步编程。现在重载的方法是非异步的。此外,我不想自己使用任何异步方法,只需创建新方法并使其可用。
是否可以在 .NET 4.0 和 VS2010 中创建异步方法,如果可以,.NET 4.0 异步方法应该是什么样的?
因为我使用的是 VS2010,所以我无法访问“async”关键字,那么在 .NET 4.0 中模拟该行为需要做什么?例如,它是否需要返回任何特定类型,是否需要在方法内部发生任何代码以使其正在调用的当前非异步代码异步发生?
c# - 递归 WinRT 异步问题
我有一些代码可以做这样的事情:
我似乎(有时)遇到了奇怪的时间问题,最终将代码挂在 GetFileAsync(...) 上。这是由调用的递归性质引起的吗?当我将所有等待调用更改为实际执行 .Wait() 以使它们完成时,并且基本上摆脱了调用的所有异步性质,我的代码执行得很好。
asp.net-mvc-4 - 使用异步操作运行同步代码
我有一个搜索操作,它有两个路径,一个是同步路径,它只返回一个简单的视图,另一个是异步路径,它异步执行搜索,然后返回一个视图。两者都是 GET 请求,因此它们是同一操作的一部分。
问题是当我访问操作“localhost:XXXX/Home/Search”时,页面只是无限加载。使用 Fiddler,我可以看到请求永远不会返回。我已经对其进行了调试,它到达了最后一行代码,但是,请求再次没有完成。
我已将复制简化为以下内容:
VS11 警告我代码将在没有等待的情况下同步运行,这很好,但请求没有完成。
这应该工作吗?还是我需要在这里做点别的?
编辑
这是针对 .NET 4.5 的 MVC 4。
编辑 2
对于那些在代码中看得更清楚的人,这就是我需要在异步操作中同步的原因:
c# - 等待/异步问题
我正在使用 Windows 8 CP 并发现在我的应用程序中,我无法正确地使新的 async/await 机制正常工作。
我向您展示的这种方法在作为 UnitTest(从单元测试调用)运行时会起作用,但是当正常运行时,它不起作用!
是什么赋予了?
c# - 用 NetworkStream.ReadAsync 替换 Socket.ReceiveAsync(等待)
我有一个应用程序可以同时建立几百个 TCP 连接,并从它们那里接收到源源不断的数据流。
我的尝试导致了这样的事情:
我遇到的问题是方法调用StartReceive()
会阻塞,并且无论如何都不会到达随附的StartSend() method called after
StartReceive() . Creating a new task for
StartReceive() would just end up with 300-ish threads, and it seems to do so just by calling
StartReceive()`。
在使用 a 时在现有代码上实现 newasync
和关键字的正确方法是什么,因此它正在使用线程池来避免必须拥有数百个线程/任务?await
NetworkStream
Socket.SendAsync()
Socket.ReceiveAsync()
networkstream
以这种方式使用 i/o 完成端口是否有任何性能优势beginreceive
?
c# - C# 5 和异步计时器
是否有新的 Timer API 允许我这样做?
基本上,睡眠 X 毫秒,然后继续执行其余的函数