Только что прослушал интервью с командой npm о последнем эпизоде nodeup , и они рекомендовали не использовать update
для обновления с 1.x
до 2.x
, Вместо этого используйте:
npm install npm -g
Я знаю, что это не то решение, которое вы ищете, но я бы создал конструктор по умолчанию, который будет получать IService из вашего контейнера IoC (локатор служб вместо DI). Не самый лучший способ сделать это, но самый простой, который я могу придумать.
Изменить: конечно, вы можете оставить конструктор, который позволяет вам внедрять зависимость, если вам нужно имитировать IService для тестирования или для любой другой цели.
Обычно пользовательский валидатор назначается программно (есть также возможность сделать это из файла конфигурации) примерно так, и это делается непосредственно перед открытием хоста службы, и в основном это также время, когда вы создайте свой экземпляр контейнера DI, который в дальнейшем будет использоваться для обслуживания экземпляров через поставщика экземпляра:
serviceHost.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator = new LocalUserNamePasswordValidator();
Вы также можете использовать контейнер DI для создания своего настраиваемого валидатора.
serviceHost.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator = unityContainer.Resolve<UserNamePasswordValidator>();