草庐IT

winrt-async

全部标签

c# - Resharper 可以跳过 async/await 关键字吗?

我正在尝试了解新的C#5.0异步(CTP)功能如何工作。我也使用ReSharper。但是因为它只是一个CTP,ReSharperdoesn'tsupport新关键字(async/await)并将它们突出显示为错误。这是它的样子(来自CTP样本的代码)是否可以让ReSharper暂时跳过这些词?更新我试过抢先体验计划ReSharperbuild6.0.2151.53(2011年5月10日),但没有成功。问题仍然存在,所以如果您希望它得到解决,请投票here(在彼得的回答之后)。 最佳答案 Async是一种新的语言语法,尚未成为RTM,

C# Windows 8 Store (Metro, WinRT) 字节数组到 BitmapImage

我正在开发一个将滤镜应用于图像的Windows8Metro应用程序。我有该应用程序的Web版本并想移植它。但众所周知,WinRT并不具备.NET提供的所有优点:/目前我正在字节数组上应用过滤器,我想保持这种状态,因为它非常快!因此,在过去的几天里,我一直在寻找将StorageFile转换为byte[],然后将byte[]转换为BitmapImage的方法。到目前为止,我已经设法完成了第一个(StorageFile到byte[])。这是我的做法:publicasyncTaskImageFileToByteArray(StorageFilefile){IRandomAccessStream

c# - 如何使用 async/await OnNext/OnError/OnCompleted 方法实现 IObserver?

我正在尝试为System.Net.WebSocket编写一个扩展方法,使用ReactiveExtensions(Rx.NET)将它变成一个IObserver。你可以看到下面的代码:publicstaticIObserverToObserver(thisWebSocketwebSocket,IWebSocketMessageSerializerwebSocketMessageSerializer){//Wrapthewebsocketinaninterfacethat'salittleeasiertomanagevarwebSocketMessageStream=newWebSocket

c# - 如何使用 async 和 await 正确处理

我正在尝试将代码从Thread替换为Task。sleep/延迟仅代表长时间运行的事件。staticvoidMain(string[]args){ThreadDoWork();TaskDoWork();}publicstaticvoidThreadDoWork(){using(vardispose=newThreadDispose()){dispose.RunAsync();}}publicstaticasyncvoidTaskDoWork(){using(vardispose=newTaskDispose()){awaitdispose.RunAsync();}}publicclass

c# - 代码隐藏中的 WinRT/Metro 动画

以下代码在Silverlight中运行良好:privatevoidButton_Click_1(objectsender,RoutedEventArgse){Storyboardstoryboard=newStoryboard();DoubleAnimationdoubleAnimation=newDoubleAnimation();doubleAnimation.From=50;doubleAnimation.To=100;doubleAnimation.RepeatBehavior=RepeatBehavior.Forever;doubleAnimation.AutoReverse

c# - 在 WinRT 应用程序中处理向上滑动、向下滑动、向左滑动和向右滑动手势

我有以下代码:publicMainPage(){this.InitializeComponent();this.ManipulationStarting+=MainPage_ManipulationStarting;this.ManipulationStarted+=MainPage_ManipulationStarted;this.ManipulationInertiaStarting+=MainPage_ManipulationInertiaStarting;this.ManipulationDelta+=MainPage_ManipulationDelta;this.Manipu

c# - async await是否增加上下文切换

我知道异步等待的工作原理。我知道当执行到达等待时,它释放线程并在IO完成后,它从线程池中获取线程并运行剩余的代码。这样可以有效地利用线程。但我在某些用例中感到困惑:我们应该为非常快速的IO方法使用异步方法,比如缓存读/写方法吗?它们不会导致不必要的上下文切换吗?如果我们使用sync方法,执行将在同一个线程上完成,并且可能不会发生上下文切换。Async-await是否仅节省内存消耗(通过创建较少的线程)。或者它也可以节省cpu?据我所知,在同步IO的情况下,当IO发生时,线程进入休眠模式。这意味着它不消耗cpu。这种理解是否正确? 最佳答案

c# - 如何读取文件 (Metro/WinRT)

我对这个看似简单的任务的明显复杂性感到非常震惊。我知道我必须使用StorageFile类,我找到了这个example,但我只想读取一个我知道路径的文件,并将其数据作为文本读取到字符串中。根据我收集到的信息,使用StorageFile读取文件,我必须经过一堆接口(interface);IAsyncOperation和IAsyncOperationCompletedHandler.一定有更好(更简单)的方法。像这样的东西:using(StorageFilesf=StorageFile.OpenAsync("myFile.txt")){stringline=sf.ReadLine();}显然

c# - "Async All the Way Down": Well, 底部到底是什么?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭5年前。Improvethisquestion我正在尝试完全理解async-await,而我的理解中的差距之一是了解什么是“AlltheWayDown”。我创建了一个async方法,它被另一个async方法调用,等等,一直到我用模糊的术语理解的东西,比如“UI”或“一个可以处理多个请求的网络服务器”。我如何用技术术语描述什么是“一直向下”?让我们以网络服务器的第二个例子为例。假设我有一个像这样的Controller操作[HttpGet]pub

c# - MVC4 + async/await + 在 Action 完成前返回响应

在我的MVC4应用程序中,我需要添加一个Controller来上传和处理大文件。文件上传后,我需要立即开始对该文件的异步处理,并在不等待处理完成的情况下将响应返回给浏览器。显然我可以启动一个新线程来手动处理文件,但我想知道我是否可以使用.net4.5引入的异步/等待机制来实现这种情况为了测试这个概念,我尝试了这样的事情:publicasyncTaskTest(){TestAsync();returnView("Test");}publicasyncvoidTestAsync(){awaitLongRunning();}privateTaskLongRunning(){returnTas