我想讀取強類型的appsettings.json文件並將其作爲參數傳遞給控制器。然而它不工作。這是代碼。ASP.NET核心讀取配置IOptions控制器不觸發
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
嗨TSeng, 感謝您的回覆。在構建和運行時我沒有發現任何錯誤。你能幫我嗎?我怎麼能找到錯誤,調試步驟? – JAK