小编Ser*_*tin的帖子

.NET 核心 3:JsonPropertyName 的序列化顺序 (System.Text.Json.Serialization)

在迁移到 .NET Core 3 时,我已从 Newtonsoft.Json 序列化切换到 System.Text.Json.Serialization。在我想继续使用 JsonPropertyName 属性的所有功能中。

Newtonsoft 版本允许对序列化属性进行排序

[JsonProperty(Order = 1)]
public bool Deleted { get; set; }

[JsonProperty(Order = 2)]
public DateTime DeletedDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

有没有办法在 System.Text.Json.Serialization 中实现相同的目标?

c# migration json .net-core-3.0 system.text.json

12
推荐指数
2
解决办法
5634
查看次数

CodePipeline:ECR源+ ECS部署配置

基本上,我需要使用ECS容器的Bitbucket源代码配置CI / CD。我想使用CodePipline将新的ECR映像部署到ECS。

当前,AWS CodePipline中没有选项将bitbucket指定为源。但是,我设法通过Webhooks配置CodeBuild,因此它会构建docker文件,并在每次发布发布分支时将其推送到ECR。

我想将ECR配置为CodePipline中的“源”阶段,并将其部署到现有的ECS群集/服务中,因此部署将自动进行。

  • 我在源阶段将“ Amazon ECR”指定为带有“ image_details”输出工件的操作提供程序。
  • 我将“ Amazon ECS”(不是“ Amazon ECS(蓝色/绿色)”)指定为操作提供者,以“ image_details”作为输入工件来进行部署阶段

codepipeline_settings

不幸的是,如果在部署步骤中出现以下错误,则会导致基本配置和工件链接:

Invalid action configuration
The image definition file imageDetail.json contains invalid JSON format
Run Code Online (Sandbox Code Playgroud)

尽管“ Amazon ECR”阶段将imageDetail.json作为输出工件提供,但“ Amazon ECS”部署提供程序似乎并不期望这样做。有什么合理的方法解决这个问题吗?

我知道,可以使用bitbucket + API Gateway / Lambda + CodePipeline配置CI / CD,我也考虑使用CodeCommit代替bitbucket作为源存储库-仍然,希望有一种可能的优雅解决方案,将bitbucket与直接使用CodePipeline。

UPD: 我得到的配置非常好,如博文所述:总体思路是允许CodeBuild将源代码从bitbucket上传到S3,然后使用CodePipeline和S3作为源将新的docker映像部署到ECR并发布ECS集群中新的任务定义修订。S3仍在开销中,我正在为该任务寻找更优雅的解决方案。

amazon-ecs aws-codepipeline aws-codebuild aws-ecr

9
推荐指数
2
解决办法
1668
查看次数

使用 .NET Core 2.2 的 Kestrel 与 IIS+Kestrel 性能(吞吐量)

对于部署在单个 AWS EC2 主机上的 .NET Core 2.2 应用程序,我比较了 IIS 托管与普通 Kestrel 托管。

对于 IIS 配置,我遵循了 MS文档

对于 Kestrel,我只是使用了:

dotnet app.dll --server.urls http://*:5000
Run Code Online (Sandbox Code Playgroud)

我正在使用 JMeter 运行“压力”测试以比较吞吐量。这个测试只是用 100 个线程调用应用程序的端点,持续 10 秒(5 秒预热)。请注意,该端点基本上是在每次调用时从 MSSQL Server 数据库获取相同的数据,没有缓存等。

因此,Kestrel 会因套接字关闭/超时错误而失败 75% 的请求:

在此处输入图片说明

问题:什么样的配置错误会导致这种 Kestrel 行为?我尝试在 Kestrel 前面使用基本的 nginx 反向代理,但仍然得到相同的结果。

iis jmeter amazon-ec2 kestrel asp.net-core

5
推荐指数
1
解决办法
1922
查看次数