Во-первых, я знаю, что использование ModelState в сервисе обычно не одобряется, поскольку оно тесно связывает сервис с платформой Mvc. В нашем случае это не проблема, но у меня есть планы по переходу на IValidationDictionary и оболочку ModelState, но сейчас этот шаг нужен, чтобы работать.
Теперь, к вопросу, этот крутой парень прямо здесь:
public class BaseService : IBaseService
{
protected MIRTContext _context;
protected IMapper _mapper;
//TODO: This tightly couples .NET MVC to our services.
// Could be imporoved with an interface and a ModelState wrapper
// in order to decouple.
private ModelStateDictionary _modelState;
public BaseService(
MIRTContext context,
IMapper mapper,
ModelStateDictionary modelState
) {
_context = context;
_mapper = mapper;
_modelState = modelState;
}
async Task<bool> IBaseService.SaveContext() {
if(_modelState.IsValid) {
try {
await _context.SaveChangesAsync();
return true;
}
catch {
return false;
}
}
else {
return false;
}
}
}
Он продолжает выдавать мне эту ошибку:
Не удается разрешить службу для типа «Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary» при попытке активации
Я предполагаю, что мне не хватает какой-то вещи AddSingleton в моих ConfigureServices в Startup.cs, но я не могу понять, что именно. Кто-нибудь знает, как заставить это сделать инъекцию зависимости?