async-await相关内容
..
..
在 forEach 循环中使用 async/await 有什么问题吗?我正在尝试遍历文件数组并 await 每个文件的内容. 从'fs-promise'导入fs异步函数 printFiles () {const files = await getFilePaths()//假设这工作正常files.forEach(async (file) => {常量内容 = 等待 fs.readFile(fil
..
我了解 .NET 4.5 提供了一系列功能,使异步数据库操作更易于实现.MSDN 说,如果连接字符串未设置为异步工作,ADO.NET 的任何异步方法都不会以异步方式工作.因此 SqlConnectionStringBuilder 带有一个名为 AsynchronousProcessing 的属性. 我想知道这些异步功能是否也适用于其他数据库服务器(例如 mysql)?我应该怎么做才能使 ay
..
我的现有代码类似于: IEnumerable获取材料(){使用 (SqlConnection conn = new SqlConnection(connectionString))使用 (SqlCommand cmd = new SqlCommand(sql, conn){conn.Open();SqlDataReader 阅读器 = cmd.ExecuteReader();而(读者.读()){
..
我有一行代码: bool stop = await Task.Factory.StartNew(Listen, (TcpClient) client); 以及对应的任务: public static async Task听(对象状态){TcpClient 客户端 = (TcpClient) 状态;NetworkStream connectionStream = client.GetStrea
..
使用 C# 中的新 async/await 关键字,现在会影响您使用 ThreadStatic 数据的方式(和时间),因为回调委托在与 async 不同的线程上执行操作开始.例如,以下简单的控制台应用程序: [ThreadStatic]私有静态字符串 Secret;静态无效主要(字符串 [] 参数){开始().等待();Console.ReadKey();}私有静态异步任务开始(){秘密=“哞哞
..
我正在创建一段代码,用于从我们拥有的旧系统中获取网页.为了避免过度查询,我将获取到的 URL 缓存起来.我正在使用 Monitor.Enter、Monitor.Exit 并仔细检查以避免发出两次请求,但是在使用 Monitor.Exit,我得到了这个异常: System.Threading.SynchronizationLockException 被捕获H结果=-2146233064Messag
..
我的 Win RT 应用程序在 Windows 8 beta 上与 VS2012RC 一起工作,现在在 Visual Studio 和 Windows 8 pro 的最终版本中出现了问题,只有在我设置调试器时才能在 OnSuspending 中创建/打开文件-文件创建方法的断点. private void OnSuspending(object sender, SuspendingEventAr
..
如何一次启动多个 HttpClient.GetAsync() 请求,并在它们各自的响应返回后立即处理它们?首先我尝试的是: var response1 = await client.GetAsync("http://example.com/");var response2 = await client.GetAsync("http://stackoverflow.com/");HandleExa
..
我正在尝试在我的类库中创建一个 StorageFile 实例... var localFolder = ApplicationData.Current.LocalFolder;StorageFile destinationFile = await localFolder.CreateFileAsync(destination, CreationCollisionOption.GenerateUn
..
我在发出 Web 请求时尝试使用 Async 和 Await,但我发现它永远不会超过 await 行.我是通过 Metro 应用程序执行此操作的,但我也在 winforms 应用程序中验证了问题. 公共异步任务做一点事(){字符串 url = "http://imgur.com/gallery/VcBfl.json";HttpWebRequest 请求 = HttpWebRequest.Crea
..
我试图在应用程序启动时加载和读取设置文件,大约 90% 的时间,await GetFileAsync("filename.xml"); 永远不会返回,因此,挂起应用程序. 大约四分之一的时间,如果我单步执行代码,它实际上会返回并读取文件. 这是一个非常简化的代码: App.xaml.cs: protected override void OnLaunched(LaunchAct
..
将以下内容视为从 Windows 8 Metro/WinRT 应用程序中提取的内容,这些内容已减少到显示异常所需的最低限度: 公共类应用程序:应用程序{公共应用程序(){UnhandledException += (sender, e) =>e.Handled = true;}}公共类 MainPage : 页面{私人无效Button_Click_1(对象发送者,RoutedEventArgs
..
我有几个方法可以向数据库报告一些数据.我们希望异步调用对数据服务的所有调用.这些对数据服务的调用已经结束,因此我们要确保这些 DS 调用在任何给定时间按顺序依次执行.最初,我对这些方法中的每一个都使用异步等待,并且每个调用都是异步执行的,但是我们发现它们是否不按顺序进行,那么就有出错的余地. 所以,我认为我们应该将所有这些异步任务排队并在单独的线程中发送它们,但我想知道我们有哪些选择?我遇到
..
我想知道是否存在 ConcurrentQueue,类似于 BlockingCollection 从集合中获取不会阻塞,但是相反,它是异步的,并且会导致异步等待,直到将项目放入队列中. 我已经提出了自己的实现,但它似乎没有按预期执行.我想知道我是否正在重新发明已经存在的东西. 这是我的实现: 公共类MessageQueue;{并发队列queue = new ConcurrentQ
..
我正在使用实体框架 6 编写 MVC 5 互联网应用程序,并且在使用 .Where() 子句时对使用 await 关键字有疑问. 这是我的有效代码: 公共异步任务GetAccount(字符串用户名){如果(会话 [用户名] == 空){账户 account = db.accounts.Where(a => a.userName.Equals(userName)).FirstOrDefaul
..
公共类 Foo{公共 int ID { 获取;放;}公共 int 用户 ID { 获取;放;}} 这似乎是异步执行此操作的方法: DatabaseContext db = new DatabaseContext();Foo foo = 等待 db.Foos.FindAsync(fooid); 如何根据 UserId 的值异步获取特定用户的所有 Foo? 解决方案 假设您使用的是 En
..
我想将新的异步等待功能应用于在我的实体模型中导入的存储过程/函数导入,但目前还无法使用 EF6 alpha. 在 EF6 alpha2(或 20211 年的夜间版本)中是否可以在返回复杂类型集合的实体函数导入(调用 SQL 存储过程)上调用任何新的异步方法?例如 私有异步任务>getInfo(字符串 id){使用 (CustomEntity context =
..
我想异步执行一些查询.但是当我通过代码进行调试时,大多数时候调用 ToListAsync() 时程序会停止.没有可见的异常,并且调用堆栈窗口被清除.当我在 VS 中按下暂停按钮时,我可以看到调用当前方法之前的堆栈帧. var res1 = await context.Address().Where(...).ToListAsync();var res2 = await context.Perso
..