我在 Azure Devops 中有源代码控制和管道。
我的项目有两个目标框架:3.1 和 6。
运行管道时,恢复包时会抛出错误:
##[错误]nuget 命令失败,退出代码(1) 和错误(D:\a\1\s\nuget-tst\src\nuget-tst.csproj 包 Microsoft.Extensions.Configuration.Json 3.1 中的错误。 3 与 net60 (.NETFramework,Version=v6.0) 不兼容。包 Microsoft.Extensions.Configuration.Json 3.1.3 支持: - netcoreapp3.1 (.NETCoreApp,Version=v3.1) - netstandard2.0 (. NETStandard,Version=v2.0) 包 Microsoft.Extensions.Configuration.FileExtensions 3.1.3 与 net60 (.NETFramework,Version=v6.0) 不兼容。包 Microsoft.Extensions.Configuration.FileExtensions 3.1.3 支持: - netcoreapp3 .1 (.NETCoreApp,Version=v3.1) - netstandard2.0 (.NETStandard,Version=v2.0) 包 Microsoft.Extensions.Configuration.EnvironmentVariables 3.1.3 与 net60 (.NETFramework,Version=v6.1) 不兼容0). 软件包 Microsoft.Extensions.Configuration.EnvironmentVariables 3.1.3 支持: - netcoreapp3.1 (.NETCoreApp,Version=v3.1) - netstandard2.0 (.NETStandard,Version=v2.0) 一个或多个软件包不兼容使用.NETFramework,版本=v6.0。包 Microsoft.IdentityModel.Tokens 6.5.0 与 netcoreapp3.1 (.NETCoreApp,版本=v3.1) 不兼容。包 Microsoft.IdentityModel.Tokens 6.5.0 支持: - net45 (.NETFramework,Version=v4.5) - net461 (.NETFramework,Version=v4.6.1) …
我有一个与队列关联的 azure 队列触发器,我想确保触发器一次只读取和执行一条消息。因此,当消息被执行(成功与否)时,它会处理下一条消息。
正在发生的事情是队列执行一条消息,但它开始执行另一条消息。我的主机.json:
"queues": {
"maxPollingInterval": 20000,
"visibilityTimeout": "00:01:00",
"batchSize": 1,
"maxDequeueCount": 5,
"newBatchThreshold": 1
}Run Code Online (Sandbox Code Playgroud)
以下来自 MS 链接的说明:
如果要避免在一个队列上接收的消息并行执行,可以将 batchSize 设置为 1
所以预计一次只运行一条消息(我正在使用消费计划)。
这很关键,因为我需要确保它当时只处理一条消息。
有什么设置可以更改吗?
或者队列触发器不是解决这个需求的好选择?
我有 ASP.NET Core 6 API 的一部分,用于与另一个服务连接。这是一个批量操作(最多可能有 2 到 4 个操作),我想并行执行它。
为了实现这一目标,我正在尝试利用这样的任务:
List<Task> tasks = new List<Task>();
foreach(var item in items)
{
tasks.Add(PerformTask(item));
}
await Task.WhenAll(tasks);
foreach(var task in tasks)
{
task.Result;
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试从每个任务获取结果时,“结果”属性不存在。
我缺少什么?