小编nul*_*ter的帖子

删除 Kestrel 绑定警告

在 ASP.NET Core 2.1 项目中使用 Kestrel 并在 中指定绑定时UseKestrel(),会在警告级别记录一条消息:

Overriding address(es) 'http://localhost:50000/'. Binding to endpoints defined in UseKestrel() instead.

这给我们的日志增加了噪音,报告了一个默认(因此令人困惑)的 URL,并且不应该是一个警告。除了记录器本身过滤消息之外,有没有办法配置网络主机构建器,使其在启动时不记录?

kestrel-http-server asp.net-core asp.net-core-2.1

12
推荐指数
4
解决办法
9773
查看次数

DynamoDB中的可选二级索引

我正在将我的持久层从Riak迁移到DynamoDB.我的数据模型包含一个可选的业务标识符字段,希望能够将其作为密钥的替代方案进行查询.

似乎DynamoDB二级索引不能null并且需要一个范围密钥,所以尽管与Riak的二级索引名称相似,但这看起来却是一个非常不同的野兽.

有没有一种优雅的方法来有效地查询我的可选字段,而不是将数据丢入外部搜索索引?

amazon-web-services amazon-dynamodb secondary-indexes

11
推荐指数
1
解决办法
5844
查看次数

如何将 Serilog 丰富器与日志上下文结合使用

Serilog 丰富者(尤其LogEvent是)是否期望了解被推入的属性LogContext

我有一个被推送到 Serilog 上下文的属性:

using (LogContext.PushProperty(LoggingConstants.MyProperty, _myValue))
{
   // ...
}
Run Code Online (Sandbox Code Playgroud)

我还注册了一个自定义丰富器,如果属性不存在,它会添加一个属性,并将其填充到指定的长度:

public class PaddedPropertyEnricher : ILogEventEnricher
{
    private readonly string _propertyName;
    private readonly int _maxLength;

    public PaddedPropertyEnricher(string propertyName, int maxLength)
    {
      _propertyName = propertyName;
      _maxLength = maxLength;
    }

    public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
    {
      var property = propertyFactory.CreateProperty(_propertyName, new string(' ', _maxLength));
      logEvent.AddPropertyIfAbsent(property);
    }
}
Run Code Online (Sandbox Code Playgroud)

和:

Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .Enrich.With(new PaddedPropertyEnricher(LoggingConstants.MyProperty, 3))
                 // etc.
Run Code Online (Sandbox Code Playgroud)

此丰富器的目的是使不包含自定义属性的日志条目不会导致日志条目中的列未对齐。

例如,它的目的是改变这个:

2021-06-10 12:23:33.676 +12:00 [INF] [] …
Run Code Online (Sandbox Code Playgroud)

c# serilog

7
推荐指数
1
解决办法
3万
查看次数

在服务器端 Blazor 中人为限制 SignalR 连接

为了在慢速/不可靠的网络上测试我的 Blazor 应用程序,我正在寻找一种方法来人为地限制发送到 Blazor 或从 Blazor 发送的 Websocket 消息。不幸的是 Chrome 仍然不支持限制 websocket 连接。

我深入研究了 ASP.NET SignalR 代码的内部,但找不到任何可以扩展的明显服务,也没有找到任何添加 SignalR 中间件的简单方法。

扩展HubDispatcher看起来最有前途,但这是一个内部类。

Blazor 或 SignalR 类中是否有可用的消息处理扩展点?

signalr blazor-server-side

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