У меня написана простая служба ASP.NET Core, которая предоставляет информацию о текущем пользователе (полученную из утверждений User
). У меня есть другой сервис, который предоставляет пользовательское представление многопользовательской базы данных.
В некоторых ситуациях я хотел бы, чтобы эта служба просмотра базы данных была внедрена в контроллер, но, конечно, я не знаю, будет ли пользователь успешно аутентифицирован или нет, поэтому я не смогу создать экземпляр это.
Есть ли установленная схема, которой я должен следовать для такой ситуации?
Очевидно, что я мог бы выдать исключение, но это привело бы к возвращению ошибки 500, когда создается впечатление, что роль контроллера должна заключаться в том, чтобы определить, может ли операция продолжаться или не продолжаться без доступности этой службы. Или я должен просто иметь службу, которая упаковывает значение и имеет значение null
, если его нельзя было создать по какой-либо причине?
Спасибо.