我得到Message size too large
的例外,当我尝试发送邮件是超过1个MB的大小。当我尝试生成消息时,错误出现在我的客户端应用程序中。经过一番谷歌搜索后,我发现应该更改设置以增加最大消息大小。嗯,我在/kafka/config/server.properties
文件中做到了。我添加了接下来的 2 个设置:
message.max.bytes=15728640
replica.fetch.max.bytes=15728640
Run Code Online (Sandbox Code Playgroud)
另外,我添加fetch.message.max.bytes=15728640
到/kafka/config/consumer.properties
文件中。所有其他设置保持默认。
我重新启动了 kafka 服务器,但仍然出现相同的错误。
PS Kafka 版本是 1.1.0。
我们在ASP.NET Core应用程序中使用Simple Injector。最近,我们决定将Serilog用于记录目的。
按照Program.cs 文档中的说明进行配置。然后,为了使Simple Injector能够解析,ILoggerFactory
我做了如下操作:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
// As per my understanding, we force SimpleInjector to use
// ILoggerFactory registration from IApplicationBuilder
container.CrossWire<ILoggerFactory>(app)
}
Run Code Online (Sandbox Code Playgroud)
之后,ILoggerFactory
无论我们在哪里使用它都可以注入。而且它工作正常(创建新实例ILogger<T>
)。
但这很烦人,每次需要时都从工厂创建实例。最好ILogger<T>
直接进入从属类,而不是ILoggerFactory
。
那么,如何注册ILogger<T>
以获取实例,如下所示?
public class HelloWorldController : Controller
{
public HelloWorldController(ILogger<HelloWorldController> logger)
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个小的.net框架项目迁移到.net核心项目.但我花了几个小时搜索如何将以下代码用于.net core 2.0.但我不走运,因为似乎System.Data.Common功能因某种原因被削减了.所以,我在这里有两个问题:
我们如何只在提供者名称字符串上获得工厂基础?任何其他想法如何执行松耦合数据库连接工厂
public class ConnectionFactory
{
protected readonly DbProviderFactory Factory;
protected readonly string ConnectionString;
public ConnectionFactory(string connectionStringName)
{
var settings = ConfigurationManager.ConnectionStrings[connectionStringName];
this.Factory = DbProviderFactories.GetFactory(settings.ProviderName);
this.ConnectionString = settings.ConnectionString;
}
public DbConnection Connection
{
get
{
var con = Factory.CreateConnection();
con.ConnectionString = this.ConnectionString;
return con;
}
}
}
Run Code Online (Sandbox Code Playgroud)我正在尝试配置ForwardedHeadersOptions
哪些是Microsoft.AspNetCore.HttpOverrides
. 我已将选项添加到我的appsettings.json
"ForwardedHeadersOptions": {
"ForwardedHeaders": 5,
"ForwardLimit": 1,
"KnownProxies": [
"111.111.111.111"
]
},
Run Code Online (Sandbox Code Playgroud)
前两个属性(ForwardedHeaders
和ForwardLimit
)已正确映射,而则KnownProxies
不是。这是预期的,因为 的类型KnownProxies
是IList<IPAddress>
. 因此,为了映射此属性,我创建了类型转换器:
public class IPAddressTypeConverter : TypeConverter
{
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
return sourceType == typeof(string) || base.CanConvertFrom(context, sourceType);
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
return base.ConvertFrom(context, culture, value);
}
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
return destinationType == typeof(IPAddress) …
Run Code Online (Sandbox Code Playgroud)