У меня есть AuthenticationController, который проверяет базу данных, чтобы убедиться, что учетные данные действительны. После проверки я создаю экземпляр класса (см. Ниже) и сохраняю соответствующие части из таблицы.
AuthenticationController.cs
public class AuthenticationController : Controller
{
private readonly IEmployeeDetails ED;
[HttpPost]
public ActionResult Login(Login loginItem)
{
ED.Employee_Number = (string)employeeDataTable.Rows[0]["Employee_Number"].ToString(); // crash because ED is null ?
Я хочу поделиться этим экземпляром объект со всеми моими контроллерами для всех моих представлений.
Каков наилучший способ сделать это? (класс выглядит так, но с большим количеством полей)
public class EmployeeDetails : IEmployeeDetails
{
public int EmployeeNumber {get; set;}
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IEmployeeDetails, EmployeeDetails>();
services.AddControllersWithViews();
}
Что я делаю не так?