У меня есть приложение MVC, которое использует Windsor везде, и оно отлично работает везде с Виндзорским замком, но теперь я добавляю в него новый код, и он работает неправильно. Я настроил замок со следующим кодом:Почему этот код, который использует замок Windsor, не работает?
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Component.For<IFileUploadService>().ImplementedBy<FileUploadService>().DependsOn(Parameter.ForKey("x").Eq(
"test")).LifeStyle.PerWebRequest);
}
В FileUploadService определяется следующим образом:
public class FileUploadService : IFileUploadService
{
public FileUploadService(string x)
{
// use x
}
}
Я уверен, что инсталлятор линия звонит (Debug показывает, что линия проходит в начале . применения
у меня есть контроллер, который определяется следующим образом:
public FileUploadController(IConfiguration Configuration, IFileUploadService fileUploadService)
{
this.Configuration = Configuration;
this.fileUploadService = fileUploadService;
}
Когда я запускаю это приложение, я получаю эту ошибку:
Can't create component 'FileUploadService' as it has dependencies to be satisfied.
FileUploadService is waiting for the following dependencies:
Keys (components with specific keys)
- x which was not registered.
В чем проблема? У меня есть аналогичный код, который они работают.