#asp.net-mvc #simple-injector
#asp.net-mvc #простой инжектор
Вопрос:
Я пытаюсь зарегистрировать inteface IDataService
и RegisterLawyers
с помощью простого инжектора, но в случае отказа контроллера:
Конструктор типа RegisterLawyer содержит параметр ’email’ типа String, который нельзя использовать для внедрения конструктора. Имя параметра: временная реализация.
var container = new Container();
container.Options.DefaultScopedLifestyle = new WebRequestLifestyle();
container.RegisterMvcControllers(Assembly.GetExecutingAssembly());
container.Register<IDataService, RegisterLawyer>(Lifestyle.Transient);
container.Verify();
DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(container));
public class RegisterLawyer : IDataService
{
private string _email;
private string _personalNumber;
private string _egn;
public RegisterLawyer(string email, string personalNumber, string egn)
{
this._email = email;
this._egn = egn;
this._personalNumber = personalNumber;
}
}
Комментарии:
1. взгляните сюда
2. Значения являются какими-то значениями конфигурации? Или эти значения могут меняться при каждом запросе?
3. Похоже, что эти значения являются значениями времени выполнения: измените свой дизайн .