我需要在商家课程中阅读while true; do settings put global wifi_on 0; done
文件(部分:appsettings.json
)中的属性列表,但我无法访问它们。我需要将这些属性公之于众。
我在placeto
类中添加了文件:
这是我的Program
:
appsettings.json
答案 0 :(得分:13)
首先:使用program.cs
中的默认值,因为它已添加配置:
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
第二次:通过创建Iconfiguration
字段为您的类创建一个接口并通过依赖注入传递配置:
private readonly IConfiguration Configuration;
然后通过contructor传递它:
public Test(IConfiguration configuration)
{
Configuration = configuration;
}
然后为您的班级创建一个界面,以便正确使用Dependency Injection
。然后,可以创建它的实例,而无需将IConfiguration
传递给它。
这是类和接口:
using Microsoft.Extensions.Configuration;
namespace GetUserIdAsyncNullExample
{
public interface ITest { void Method(); }
public class Test : ITest
{
public Test(IConfiguration configuration)
{
Configuration = configuration;
}
private readonly IConfiguration Configuration;
public void Method()
{
string here = Configuration["placeto:login"];
}
}
}
第三次:然后在您的startup.cs中通过调用实现您的类的依赖注入:
services.AddSingleton< ITest, Test>();
您的ConfigureServices
方法中的
现在,您可以将类实例传递给依赖注入使用的任何类。
例如,如果你想要使用你的班级ExampleController
,请执行以下操作:
private readonly ITest _test;
public ExampleController(ITest test)
{
_test = test;
}
现在你有_test实例可以在控制器的任何地方访问它。