使用WebApi 2时,我的web.config是
<connectionStrings>
<add name="RavenHQ" connectionString="Url=http://localhost:8080;Database=ModelFarmDb" />
</connectionStrings>对于ASP.NET 5.0,我想不出如何编写config.json文件来做同样的事情。
我试过了
{
"Data": {
"RavenHQ": {
ConnectionString: "Url=http://localhost:8080;Database=ModelFarmDb"
}
}
}但不起作用。对于如何将web.config部分直接映射到config.json以避免破坏假定为web.config的其他库,有什么建议吗?
该应用程序在本地下运行,是Azure上的一个web应用程序。
非常感谢!
发布于 2015-10-16 18:31:52
在asp.net 5.0中,您以不同的方式完成了这一任务。我在这个例子中使用了json文件。如果需要添加xml文件,只需使用这些包Microsoft.Framework.Configuration.Xml并使用.AddXmlFile()方法
此示例使用beta 7。
创建一个AppSetting类
public class AppSetting
{
public string Setting1 { get; set; }
public string Setting2 { get; set; }
}在启动文件中,使用本例中的配置添加json文件,即调用config.json
public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
{
var builder = new ConfigurationBuilder()
.SetBasePath(appEnv.ApplicationBasePath)
.AddJsonFile("config.json")
.AddXmlFile("thefilename")
.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true);
builder.AddEnvironmentVariables();
Configuration = builder.Build();
}
public IConfiguration Configuration { get; set; }然后,您需要添加应用程序服务您的AppSetting类,以便可以注入它供以后使用。
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));然后在控制器中或任何需要配置的地方注入IOptions<AppSettings>。
public class SampleController : Controller
{
private readonly AppSettings _appSettings;
public SampleController(IOptions<AppSettings> appSettings)
{
_appSettings = appSettings.Value;
}
}这就是json的样子
{
"AppSetting": {
"Setting1": "Foo1",
"Setting1": "Foo1"
}
}我从github的live.asp.net中获取了这些和平的代码
https://stackoverflow.com/questions/33142052
复制相似问题