草庐IT

get_multi_async

全部标签

c# - Microsoft.Bcl.Async 是如何工作的?

Microsoft.Bcl.Async使开发人员能够在没有.NETFramework4.5的情况下使用async/await关键字,他们应该以使用它们为目标。太好了,这要感谢MicrosoftCLR和语言团队的人们的辛勤工作。现在我很好奇这是如何工作的。async/await要求编译器做一些繁重的工作,将代码转换成可以执行await操作的东西。编译器最初会在.NETFramework4.0下抛出编译错误,即使它清楚地知道async/await的含义(VisualStudio2012/2013。)那么这个库如何告诉编译器不要抛出与异步操作相关的特定编译错误,并像在.NETFramewor

c# - Haskell 相当于 C# 5 async/await

我刚刚阅读了有关使用await在C#5.0中处理异步函数的新方法。和async关键字。来自C#referenceonawait的示例:privateasyncTaskSumPageSizesAsync(){//TousetheHttpClienttypeindesktopapps,youmustincludeausingdirectiveandadda//referencefortheSystem.Net.Httpnamespace.HttpClientclient=newHttpClient();//...TaskgetContentsTask=client.GetByteArray

c# - CurrentCulture with async/await,自定义同步上下文

我有一个Web应用程序,我通过async/await使用了很多异步操作。一切正常,但当我创建自定义任务以并行运行多个任务时,我注意到,在此任务中,当前文化在等待后发生了变化。问题似乎是,线程池使用操作系统的文化,这与请求的文化不同,默认同步不会更新文化,即使在任务中更改当前线程的文化。所以我创建了一个自定义同步上下文:publicsealedclassCulturePreservingSynchronizationContext:SynchronizationContext{privateCultureInfoculture;privateCultureInfocultureUI;pu

c# - WebApi 属性路由 - 将路由参数绑定(bind)到 GET 对象

目前,对于每个GET,我都必须根据路由参数手动创建一个查询对象。是否可以直接绑定(bind)到查询对象?所以,而不是:[Route("{id:int}")]publicBookGet(intid){varquery=newGetBookByIdQuery{Id=id};//executequeryandreturnresult}我可以这样做:[Route("{id:int}")]publicBookGet(GetBookByIdQueryquery){//executequeryandreturnresult}GetBookByIdQuery看起来像:publicclassGetBoo

c# - Ninject multi-injection 并没有我想象的那么贪心!怎么会?

如果我有一个类,其中的ctor设置为像这样的多重注入(inject):publicShogun(IEnumerableallWeapons){this.allWeapons=allWeapons;}绑定(bind)设置如下:Bind().To();Bind().To().WhenInjectedInto();那么我希望build幕府将军时两种武器都已注入(inject)?但事实并非如此-它只会获得Dagger。如果我像这样添加进一步的绑定(bind):Bind().To();Bind().To().WhenInjectedInto();Bind().To().WhenInjectedI

c# - EntityFramework 测试初始化​​错误 : CREATE DATABASE statement not allowed within multi-statement transaction

我正在尝试构建一个快速测试,每次运行时都会删除并重新创建数据库。我有以下内容:[TestClass]publicclassPocoTest{privateTransactionScope_transactionScope;privateProjectDataSource_dataSource;privateRepository_repository=newRepository();privateconststring_cstring="DataSource=.;InitialCatalog=test_db;Trusted_Connection=True";[TestInitialize

c# - 动态 CRM : Get metadata for statuscode/statecode mapping

在DynamicsCRM2011中,在事件实体上,“状态原因”选项集(又名状态代码)与“状态”选项集(又名状态代码)相关例如看这个截图当我使用API检索状态原因选项集时,如下所示:RetrieveAttributeRequestattributeRequest=newRetrieveAttributeRequest{EntityLogicalName="incident",LogicalName="statuscode",RetrieveAsIfPublished=true};RetrieveAttributeResponseattributeResponse=(RetrieveAtt

c# - 在 TPL 数据流中使用 async/await 和 yield return

我正在尝试使用TPLDataflow实现数据处理管道.但是,我对数据流比较陌生,并不完全确定如何正确使用它来解决我要解决的问题。问题:我正在尝试遍历文件列表并处理每个文件以读取一些数据,然后进一步处理该数据。每个文件大概是700MB至1GB在尺寸方面。每个文件包含JSON数据。为了并行处理这些文件而不是运行内存,我正在尝试使用IEnumerable与yieldreturn然后进一步处理数据。获得文件列表后,我想同时处理最多4-5个文件。我的困惑来自:如何使用IEnumerable和yeildreturn与async/await和数据流。偶遇thisanswer通过svick,但仍然不确

c# - 如何: Use async methods with LINQ custom extension method

我有一个LINQ自定义扩展方法:publicstaticIEnumerableDistinctBy(thisIEnumerableitems,Funcproperty){returnitems.GroupBy(property).Select(x=>x.First());}我是这样使用它的:varspc=context.pcs.DistinctBy(w=>w.province).Select(w=>new{abc=w}).ToList();但问题是我不想要ToList()我想要这样的东西varspc=awaitcontext.pcs.DistinctBy(w=>w.province).

c# - HTTP GET 请求和 XML 应答

我是C#新手,我需要发送HTTPGET请求并阅读答案。我熟悉Java并且很容易做到URLConnection类,但我不知道在c#中。有人可以帮忙吗? 最佳答案 最简单的方法是使用WebClient:WebClientclient=newWebClient();stringtext=client.DownloadString(url);(即同步形式,也支持异步请求。)要获得更多控制,您可能需要使用HttpWebRequest. 关于c#-HTTPGET请求和XML应答,我们在StackOv