草庐IT

azure-pipelines-build-task

全部标签

c# - 为什么 Task.WaitAll() 不会在此处阻塞或导致死锁?

在下面的示例中,使用了两个await调用。为了获得性能,样本被转换为Task.WaitAll()(实际上并没有更快,但这只是一个例子)。这是在Android上使用Sqlite.Net的库中的代码,该方法是从主UI线程上的OnResume()调用的:publicasyncTaskSetupDatabaseAsync(){awaitCreateTableAsync();awaitCreateTableAsync();}这是替代方案:publicvoidSetupDatabaseAsync(){vart1=CreateTableAsync();vart2=CreateTableAsync()

c# - Azure 通知中心。 GetRegistrationsByTagAsync(string tag, int top) 的第二个参数代表什么?

documentation在Azure推送通知中说明NotificationHubClient.GetRegistrationsByTagAsync(stringtag,inttop),如下所示,top(Int32):Thelocationwheretogettheregistrations.但我不知道top或location代表什么。Anexample我发现只使用100但没有理由使用它。 最佳答案 基本上这意味着最多获得top记录。因此,如果您有1000个带有标签“A”的注册,则NotificationHubClient.GetR

c# - 使用 Task.Run 调用异步方法似乎是错误的?

我最近看到这段代码是由我们为我们工作的承包商编写的。它要么非常聪明,要么非常愚蠢(我认为是后者,但我想要第二个意见)。我在asyncawait上的速度不是很快。基本上它是这样工作的:publicboolSend(TemplatedMessageDtomessage){returnTask.Run(()=>SendAsync(message)).GetAwaiter().GetResult();}publicasyncTaskSendAsync(TemplatedMessageDtomessage){//codedoingstuffvarresults=await_externalres

c# - 为什么上传到 Azure blob 这么慢?

我有一个自定义流,用于直接对页面云blob执行写入操作。publicsealedclassWindowsAzureCloudPageBlobStream:Stream{//4MBisthetopmostlimitforpageblobwriteoperationspublicconstintMaxPageWriteCapacity=4*1024*1024;//Everyoperationonapageblobhastomanipulateavaluewhichisroundedupto512bytesprivateconstintPageBlobPageAdjustmentSize=5

c# - 读取可能不存在的 Azure DocumentDB 文档

我可以像这样从AzureDocumentDB查询单个文档:varresponse=awaitclient.ReadDocumentAsync(documentUri);如果文档不存在,这将抛出DocumentClientException。在我的程序中,我遇到了文档可能存在也可能不存在的情况。有没有什么方法可以在不使用try-catch并且不对服务器进行两次往返的情况下查询文档,首先查询文档,然后检索文档是否存在? 最佳答案 遗憾的是,没有其他方法,要么处理异常,要么进行两次调用,如果选择第二条路径,这是一种性能驱动的检查文档是否存

c# - Task<TResult> 可以/应该包装在 C# 5.0 等待中,它在 TResult 中是协变的吗?

我非常喜欢使用C#5.0异步编程。然而,有几个地方更新旧代码以与TAP模型保持一致给我带来了问题。这是其中之一-我不确定为什么Task在TResult中不是协变的,但在尝试更新协变接口(interface)以从同步模式移动到异步模式时,它给我带来了问题:旧代码:publicinterfaceIInitializable//**outgenericmodifier**{//////Booleantoindicateifclassisready///boolIsInitialized{get;}//////Callsforinstancetobeinitializedusingcurren

c# - Task<T> 与 C# 中的异步委托(delegate)?

我有这个简单的方法:staticintWork(strings){returns.Length;}我可以运行它:Tasktask=Task.Factory.StartNew(()=>Work("lalala"));...intresult=task.Result;或者用这个:Funcmethod=Work;IAsyncResultmyIasync=method.BeginInvoke("lalala",null,null);...intresult=method.EndInvoke(myIasync);他们都使用线程池线程。都等待执行完成(读取值时)两者都向调用者重新抛出任何异常。我什

c# - 将参数传递到 Task.Factory.StartNew

给定以下代码:stringinjectedString="ReadstringoutofHttpContext";Task.Factory.StartNew(()=>{MyClassmyClass=newMyClass();myClass.Method(injectedString);}这是将字符串传递到任务/线程的最佳方式吗?我对这种方法的担忧是:垃圾收集器会知道字符串什么时候失效吗?上下文并正确清理它?有没有更好的方法将依赖项注入(inject)任务,从而打破主线程中对象的链接?这是在Asp.Net网络服务中,如果它很重要并且是一个即发即忘类型的线程,我不会等待任何类型的响应。我的

c# - 如何获取 Azure 容器中所有 blob 的列表?

我有Azure中存储帐户的帐户名和帐户key。我需要获取该帐户中容器中所有blob的列表。(“$logs”容器)。我能够使用CloudBlobClient类获取特定blob的信息,但无法弄清楚如何获取$logs容器中所有blob的列表。 最佳答案 在https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/#list-the-blobs-in-a-container中有一个示例,说明如何列出容器中的所有blob。:

c# - 从 Azure blob 存储中读取文件

我想从Azure存储中读取一个PDF文件字节,因为我有一个文件路径。https://hostedPath/pdf/1001_12_Jun_2012_18_39_05_594.pdf所以可以通过直接传递路径名从blob存储中读取内容吗?我也在使用C#。 最佳答案 只要blob是public,您绝对可以传递bloburl。例如,您可以将其嵌入html图像或链接中:clickhere默认情况下,blob容器是私有(private)的。要启用公共(public)读取访问权限,您只需在创建容器时更改容器权限即可。例如:varblobStora