Http/2协议提供了通过单个连接复用多个请求的能力.这样可以更有效地使用连接 - 请参阅https://http2.github.io/faq/#why-is-http2-multiplexed
我希望能够使用.Net Core HttpClient来实现这一目标.然而,我的测试(基于以下内容)表明对TCP连接的请求比率为1:1.
在.Net Core HttpClient下是否支持多路复用?如果是这样,它是如何实现的?
我有一个示例应用程序(可以在这里找到repo ,代码如下;
using (var httpClient = new HttpClient())
{
var request1 = new HttpRequestMessage(HttpMethod.Get, "https://www.google.com");
request1.Version = new Version(2, 0);
var request2 = new HttpRequestMessage(HttpMethod.Get, "https://www.google.com");
request2.Version = new Version(2, 0);
var task1 = httpClient.SendAsync(request1);
var task2 = httpClient.SendAsync(request2);
Task.WaitAll(task1, task2);
var response1 = task1.Result;
var response2 = task2.Result;
Console.WriteLine($"Response 1 - Http Version: {response1.Version}, Http Status Code: {response1.StatusCode}");
Console.WriteLine($"Response 2 - Http Version: {response2.Version}, Http …Run Code Online (Sandbox Code Playgroud) aws-cdk 允许您合成一个堆栈 - 这会产生许多文件 - 包括 .template.json 文件。
可以在没有 aws-cdk 工具的情况下部署这个 .template.json 文件吗?还是设计为需要通过 aws-cdk 工具进行部署?
我问的原因是我想通过 CI(持续集成)合成模板,将其存储到存储库,然后使用 CD(持续部署)工具来部署该模板。
我可以让 CD 工具运行 aws-cdk 部署。但我宁愿不这样做,因为生成的模板可能与 CI 工具存储在存储库中的版本有所不同。(例如,如果 CI/CD 工具之间存在 aws-cdk 版本差异)。
2019 年 12 月 13 日更新
简短的回答似乎是肯定的。是的,您可以部署 aws-cdk 生成的模板
更长的答案似乎是,如果您在堆栈中使用资产(例如 lambda 代码),它会变得复杂。如果您在 aws-cdk 之外部署堆栈,这些将在模板中生成需要完成的参数。
我确信这是可能的——但我不得不承认,就短期而言,我只是打算使用 aws-cdk 来完成部署——它似乎不那么复杂。
我有一个控制台应用程序,它自动托管ASP.Net WebAPI.我希望控制台应用程序能够根据对WebAPI的特定调用自行终止.
控制台应用程序很大程度上基于此处的示例 - > http://www.asp.net/web-api/overview/hosting-aspnet-web-api/self-host-a-web-api
提供一些背景;
控制台应用程序将与Jenkins CI结合使用,以自动执行Android应用程序的BDD测试.Jenkins将负责构建,安装和启动Android应用程序 - 然后它将调用此控制台应用程序.Android应用程序将运行一系列Jasmine BDD测试,通过控制台应用程序/ WebAPI自动返回Jenkins的更新.完成测试后,Android应用程序将调用特定的WebAPI操作 - 此时我希望它终止控制台应用程序,以便Jenkins进入下一个构建步骤.
提前致谢.