草庐IT

await-async

全部标签

c# - 当异步方法未以 'Async' 结束时,如何在 Visual Studio 中收到警告?

每次创建不以“Async”结尾的异步方法时,如何让VisualStudio给我一个命名警告?这是异步方法的推荐约定,但我经常发现自己忘记添加该后缀,警告会很有用。 最佳答案 来自选项,转到文本编辑器→基本→代码风格→命名选择管理规范并添加新规范选择方法,勾选所有辅助功能选项,然后从修饰符中选择异步。将标题命名为异步方法并保存现在进入管理命名样式并添加新样式。添加Async作为后缀,命名为AsyncSuffix,然后保存现在按加号并创建新的命名。选择规范作为AsyncMethod,选择所需的Style作为AsyncPostfix,Se

c# - 为什么 "async void"单元测试无法识别?

asyncvoid单元测试无法在VisualStudio2012中运行:[TestClass]publicclassMyTestClass{[TestMethod]publicasyncvoidInvisibleMyTestMethod(){awaitTask.Delay(1000);Assert.IsTrue(true);}}如果我想进行异步单元测试,测试方法必须返回一个任务:[TestMethod]publicasyncTaskVisibleMyTestMethod(){awaitTask.Delay(1000);Assert.IsTrue(true);}为什么会这样?并不是说我绝

c# - Async PartialView 导致 "HttpServerUtility.Execute blocked..."异常

我有一个试图检索IEnumerable的部分View使用异步从数据库...方法publicstaticclassPostService{publicstaticintPostsPerPage=50;publicstaticasyncTask>GetRecentAsync(intpage=0){returnawaitentityFrameworkDbContext.Posts.ToListAsync();}}局部ViewpublicasyncTaskRecent(intpage=0){returnPartialView(awaitPostService.GetRecentAsync(pa

c# - Async await 关键字是否等同于 ContinueWith lambda?

有人可以确认我是否正确理解了Asyncawait关键字吗?(使用CTP版本3)到目前为止,我已经知道在方法调用之前插入await关键字基本上做了两件事,A。它创建一个立即返回,B。它创建一个“继续”,在异步方法完成时调用调用。在任何情况下,延续都是该方法代码块的剩余部分。所以我想知道的是,这两段代码在技术上是否等效,如果是,这是否基本上意味着await关键字与创建ContinueWithLambda相同(即:它基本上是一个编译器快捷方式)?如果不是,有什么区别?boolSuccess=awaitnewPOP3Connector("mail.server.com",txtUsername

c# - 使用 SqlCommand Async 方法处理大数据时性能糟糕

我在使用异步调用时遇到了主要的SQL性能问题。我创建了一个小案例来演示这个问题。我在位于我们LAN中的SQLServer2016上创建了一个数据库(因此不是localDB)。在那个数据库中,我有一个包含2列的WorkingCopy表:Id(nvarchar(255,PK))Value(nvarchar(max))DDLCREATETABLE[dbo].[Workingcopy]([Id][nvarchar](255)NOTNULL,[Value][nvarchar](max)NULL,CONSTRAINT[PK_Workingcopy]PRIMARYKEYCLUSTERED([Id]A

c# - 新的 C# await 功能有什么作用?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion谁能解释一下await函数的作用?

c# - 方法名中使用 "Async"后缀是否取决于是否使用 'async'修饰符?

在方法名称后缀“Async”的约定是什么?是否应该将“Async”后缀仅附加到使用async声明的方法?修饰符?publicasyncTaskConnectAsync()或者该方法只返回Task就足够了吗?或Task?publicTaskConnectAsync() 最佳答案 我认为即使从Microsoft文档来看,事实也是模棱两可的:InVisualStudio2012andthe.NETFramework4.5,anymethodthatisattributedwiththeasynckeyword(AsyncinVisualB

c# - 在 HttpClient 中使用 await 进行异步调用永远不会返回

我在Win8CP上的一个基于xaml的C#metro应用程序中有一个调用;此调用只是点击网络服务并返回JSON数据。HttpMessageHandlerhandler=newHttpClientHandler();HttpClienthttpClient=newHttpClient(handler);httpClient.BaseAddress=newUri("http://192.168.1.101/api/");varresult=awaithttpClient.GetStreamAsync("weeklyplan");DataContractJsonSerializerser=n

c# - 在 C# 中使用语句和 await 关键字可以很好地发挥作用

我有这样一种情况,我正在对返回IDisposable实例的方法进行async调用。例如:HttpResponseMessageresponse=awaithttpClient.GetAsync(newUri("http://www.google.com"));现在,在async出现之前,当使用IDisposable实例时,此调用和使用“response”变量的代码将包含在using语句中.我的问题是,当混合使用async关键字时,这是否仍然是正确的方法?即使代码可以编译,在下面的两个示例中,using语句是否仍会按预期工作?示例1using(HttpResponseMessageres

c# - 有没有可能到 "await yield return DoSomethingAsync()"

常规迭代器block(即“yieldreturn”)是否与“async”和“await”不兼容?这很好地说明了我要做什么:asyncTask>Method(String[]Strs){//Iwanttocomposethesingleresulttothefinalresult,soIusetheSelectManyvarfinalResult=UrlStrings.SelectMany(link=>//ihaveanUrlstringCollectionawaitUrlString.DownLoadHtmlAsync()//downloadsingleresult;DownLoadH