我制作了一个自定义中间件,现在我想访问解决方案中另一个项目中的应用程序设置。我应该将IConfiguration对象注入到中间件构造函数中,并添加Microsoft.Extensions.Configuration的using语句吗?还是有更好的方法来做到这一点?
我正在使用带有Core 2.1的ASP.net网页。
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using System;
using System.Threading.Tasks;
public class MyMiddleware
{
public IConfiguration _configuration;
public MyMiddleware(RequestDelegate next, IConfiguration config)
{
_next = next;
_ configuration = config;
}
答案 0 :(得分:1)
如果您不需要将所有配置都传递给中间件,只需要将一部分传递给
Error: Could not find or load main class m.class
创建MyConfig.cs类文件:
class Foo(models.Model):
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
在Startup.cs的ConfigureServices方法中
IOptions<T>
在您的中间件中
public class MyConfig
{
public string MyConfig1 {get; set;}
public string MyConfig2 {get; set;}
}
在appsettings.json文件中:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<MyConfig>(Configuration.GetSection("MyConfig"));
}