【发布时间】:2016-02-26 21:12:55
【问题描述】:
我正在尝试使用强类型类读取 appsettings.json 文件并将其作为参数传递给控制器。但是它不起作用。这是代码。
appsettings.json 文件:
{
"AppSettings": {
"ApplicationName": "TestApp"
}
}
AppSettings 类:
public class AppSettings
{
public string ApplicationName { get; set; }
}
在启动类中注入:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddApplicationInsightsTelemetry(Configuration);
services.AddMvc();
services.AddOptions();
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
}
控制器:
public class ValuesController : Controller
{
private readonly IOptions<AppSettings> _appsettings;
public ValuesController(IOptions<AppSettings> appsettings)
{
_appsettings = appsettings;
}
[HttpGet]
public string Get()
{
return _appsettings.Options.ApplicationName;
}
}
启动程序已成功执行。但是,不会调用控制器构造函数或默认 get 方法。
如果我从控制器构造函数中删除 (IOptions appsettings),它可以工作。
我的代码有什么问题。
【问题讨论】:
-
您的控制台是否出现异常或错误?如果它没有调用构造函数,则意味着它无法解析它,因此应该有一些异常并提供更多信息
-
您好 TSeng,感谢您的回复。在构建和运行时我没有发现任何错误。你能帮我如何找到错误,调试步骤吗?
标签: c# asp.net-core