如何使用ServiceStack ASP.Net Core阅读 appsettings.json 或 web.config ?
IAppSettings appSettings = new AppSettings();
appSettings.Get<string>("Hello");
找不到任何东西。
答案 0 :(得分:3)
ServiceStack的.NET Core默认AppSettings可以读取<appSettings/>
,SimpleAuth.Mvc web.config是一个使用它的示例项目。
使用现在为new ServiceStack v5的available on MyGet,您可以选择使用.NET Core的IConfiguration
模型和新的NetCoreAppSettings
IAppSettings适配器。
IConfiguration
类,即:
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
您可以请求将其注入Startup构造函数并将其分配给属性:
public class Startup
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration) => Configuration = configuration;
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseServiceStack(new AppHost
{
AppSettings = new NetCoreAppSettings(Configuration)
});
}
}
然后,您可以让ServiceStack与NetCoreAppSettings
适配器一起使用,如上所示。
这可以作为普通IAppSettings
使用,您可以使用它来读取单个配置值,例如:
public class AppHost : AppHostBase
{
public override void Configure(Container container)
{
SetConfig(new HostConfig
{
DebugMode = AppSettings.Get(nameof(HostConfig.DebugMode), false)
});
}
}
或使用IAppSettings.Get<T>()
API绑定到复杂类型。
使用它的示例.NET Core 2.0 ServiceStack v5项目是NetCoreTemplates/react-spa。