我正在寻找一个更复杂的asp.net mvc模型的例子.我在ASP.net网站上看到的所有模型都非常非常简单,只涉及一个或两个数据库表.
我很好奇mvc如何处理具有许多表和三元关系的更复杂的模型.
我在System.Net.Http中使用HTTPClient来对API发出请求.API限制为每秒10个请求.
我的代码大致是这样的:
List<Task> tasks = new List<Task>();
items..Select(i => tasks.Add(ProcessItem(i));
try
{
await Task.WhenAll(taskList.ToArray());
}
catch (Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)
ProcessItem方法做了一些事情,但总是使用以下方法调用API :
await SendRequestAsync(..blah). 看起来像:
private async Task<Response> SendRequestAsync(HttpRequestMessage request, CancellationToken token)
{
token.ThrowIfCancellationRequested();
var response = await HttpClient
.SendAsync(request: request, cancellationToken: token).ConfigureAwait(continueOnCapturedContext: false);
token.ThrowIfCancellationRequested();
return await Response.BuildResponse(response);
}
Run Code Online (Sandbox Code Playgroud)
最初代码工作正常,但是当我开始使用Task.WhenAll时,我开始从API获得"超出速率限制"消息.如何限制请求的速率?
值得注意的是,ProcessItem可以根据项目进行1-4次API调用.
我正在尝试使用ClickOnce应用程序在Azure DevOps中进行CI / CD。使用托管代理时,如何在构建过程中安全地提供代码签名证书?
注意我知道您可以按照Visual Studio团队服务deploymen / buildt证书错误的建议使用脚本。但是,这种方法并不安全。该证书将被加载到托管代理运行所在帐户的证书存储中。这将允许代理以及其他Azure DevOps帐户潜在地访问和使用证书。