Много ответов на этот вопрос, если вы используете MVC, но что, если вы не используете MVC? У меня есть класс Student , и в нем есть весь Crud. Я не могу использовать ни один из примеров из-за вызова в классе. Я новичок в Core, но уже некоторое время использую веб-формы и MVC.
Когда я выполняю вызов, как показано для примера:
Student s = new Student();
s.FullName = "Sam";
s.Update;
Я получаю сообщение об ошибке, что необходима IConfiguration или IOptions, в зависимости от того, как я пытаюсь вызвать AppSettings.
Startup.cs
IConfigurationSection appSetting = Configuration.GetSection("AppSettings");
services.Configure<AppSettings>(appSetting);
Студенческий класс
public class Student
{
private readonly IOptions<AppSettings> _appSetting;
public Student(IOptions<AppSettings> appSettings)
{
_appSetting = appSettings;
}
Где он вызывается в Студенческом классе
public Student GetStudent(Guid StudentGUid)
{
var Conn = _appSetting.Value.ApplicationConn;
using (IDbConnection con = new SqlConnection(Conn))
{
Где я вызываю класс на page .cs
Student sa = new Student();
sa.GetStudent(new Guid("2b583b82-0337-425b-ac73-3830bc20253f"));
var s = sa.LastName;
Ошибка:
* Нет аргумента, соответствующего необходимому формальному параметру appSetting ...., что имеет смысл. Но это где я go с рельсов, так как я не могу просто ввести значение IOption, потому что оно всегда получается нулевым.
Класс AppSettings
public class AppSettings
{
public string ApplicationID { get; set; }
public string ApplicationUrl { get; set; }
public string ApplicationConn { get; set; }
}
JSON Файл
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AppSettings": {
"ApplicationID": "Some Guid",
"ApplicationUrl": "xxxxxx",
"ApplicationConn": "Connection String"
},
"AllowedHosts": "*"