草庐IT

c# - 使用 .NET 4.5 async 将 Azure blob 异步下载到字符串,等待

我正在尝试使用.NET4.5async&await实现完全异步blob下载。假设整个blob可以一次放入内存中,并且我们希望将其保存在string中。代码:publicasyncTaskDownloadTextAsync(ICloudBlobblob){using(StreammemoryStream=newMemoryStream()){IAsyncResultasyncResult=blob.BeginDownloadToStream(memoryStream,null,null);awaitTask.Factory.FromAsync(asyncResult,(r)=>{blob

c# - FluentAssertions ShouldNotThrow 无法识别异步方法/Func

我正在尝试检查异步方法抛出的具体异常。为此,我使用MSTEST和FluentAssertions2.0.1。我检查过这个DiscussiononCodeplex并查看它如何与异步异常方法一起工作,这是关于FluentAssertionsasynctests的另一个链接:尝试使用我的“生产”代码一段时间后,我关闭了Fluentassertions伪造的aync类,结果代码如下(将此代码放在[TestClass]中:[TestMethod]publicvoidTestThrowFromAsyncMethod(){varasyncObject=newAsyncClass();Actionac

c# - 如何在 MVVM 中对异步 ICommand 进行单元测试?

我一直在谷歌搜索甚至Bing-ing,但我没有想出任何令人满意的东西。我有一个包含一些命令的ViewModel,例如:SaveCommand、NewCommand和DeleteCommand。我的SaveCommand执行保存到文件操作,我希望它是一个async操作,这样UI就不会等待它。我的SaveCommand是AsyncCommand的一个实例,它实现了ICommand。SaveCommand=newAsyncCommand(asyncparam=>{Connectioncon=awaitConnection.GetInstanceAsync(m_configurationPat

c# - .NET:我是否需要在异步下载时保留对 WebClient 的引用?

我在一段生产代码中使用了以下方法:privatevoidDownloadData(Uriuri){WebClientwebClient=newWebClient();DownloadDataCompletedEventHandlereh=null;eh=delegate(objectsender,DownloadDataCompletedEventArgse){webClient.DownloadDataCompleted-=eh;((IDisposable)webClient).Dispose();OnDataDownloaded();};webClient.DownloadData

C# 异步任务无限期等待

我正在尝试使用“async”和“await”提供的功能来异步下载网页内容,但我遇到了任务永远等待完成的问题。您能告诉我以下代码片段有什么问题吗?protectedvoidPage_Load(objectsender,EventArgse){varwebsites=newstring[]{"http://www.cnn.com","http://www.foxnews.com"};vartasks=websites.Select(GenerateSomeContent).ToList();//Idon'twanttouse'awaitTasks.WhenAll(tasks)'asInee

c# - 为什么我的异步代码调试的时候是同步运行的?

我正在尝试使用异步功能实现一个名为ReadAllLinesAsync的方法。我已经生成了以下代码:privatestaticasyncTask>FileReadAllLinesAsync(stringpath){using(varreader=newStreamReader(path)){while((awaitreader.ReadLineAsync())!=null){}}returnnull;}privatestaticvoidMain(){ButtonbuttonLoad=newButton{Text="LoadFile"};buttonLoad.Click+=asyncdel

c# - 在基于事件的异步模式上使用任务并行库

我正在编写一个网络应用程序。消息是这样通过传输发送的:Network.SendMessage(newFirstMessage());我可以注册一个事件处理程序,以便在该消息类型到达时调用,如下所示:Network.RegisterMessageHandler(OnFirstMessageReceived);事件被触发:publicvoidOnFirstMessageReceived(EventArgse){}我正在为我的网络应用程序编写一个自定义身份验证过程,它需要大约五条消息才能完成。如果不使用任务并行库,我将不得不在前面的事件处理程序中编写每个过程的下一步代码,如下所示:publi

c# - 需要示例触发并忘记对 WCF 服务的异步调用

在预定的时间间隔内,我需要调用一个WCF服务异步调用另一个WCF服务。安排对我已经解决的WCF服务的调用。我认为我需要的,我在stackoverflow上读到的是,有必要……(本质上)准备或更改WCF服务的代码,以便能够处理对它们的异步调用。如果是的话,一个简单的例子会是什么样子?(也许是一个前后的例子)在.Net3.5中它仍然是必要的吗?其次,我正在使用WCF服务的代理调用下一个WCF服务,如果它看起来与BeginEnvoke和EndEnvoke的典型异步示例有任何不同,则需要一个对WCF服务的异步调用示例.如果我完全偏离了我的问题,我会相信它,并且会感谢任何更正以建立一个更好的问题

c# - 我的异步任务总是阻塞 UI

在WPF4.5应用程序中,我不明白为什么当我使用await+任务时UI被阻塞:privateasyncvoidButton_Click(objectsender,RoutedEventArgse){//Task.Delayworksgreat//awaitTask.Delay(5000);doublevalue=awaitJobAsync(25.0);MessageBox.Show("finished:"+value.ToString());}privateasyncTaskJobAsync(doublevalue){for(inti=0;iawaitTask.Delay运行良好,但a

c# - 如何从异步任务返回结果?

我想从异步任务返回一个字符串结果。System.Threading.Tasks.Task.Run(async()=>awaitaudatex.UploadInvoice(assessment,fileName));publicasyncTaskUploadInvoice(stringassessment,stringfileName){//Dostuffreturnstring;}异步编程让我很困惑,谁能解释一下? 最佳答案 异步编程可能需要一段时间才能让您理解,所以我会发布对我有用的内容,以防对其他人有所帮助。如果您想将业务逻辑与