Как зарегистрировать System.Net.CookieContainer с помощью Виндзорского замка? - PullRequest
1 голос
/ 22 августа 2011

У меня есть компонент, в котором у меня есть зависимость от объекта CookieContaier.Мне удалось сделать эту работу с помощью этого кода:

ICookieContainerFactory factory = container.Resolve<ICookieContainerFactory>();
container.AddFacility<FactorySupportFacility>()
         .Register(Component.For<System.Net.CookieContainer>()
         .UsingFactoryMethod(() => factory.GetCookieContainer())
         .LifeStyle.Singleton);

Но я хочу, чтобы это было в моем файле конфигурации.Как мне написать это в моей конфигурации?

Я пробовал так:

<component id="CookieContainerFactory"
               service="ABZ.RFOA.Core.Utility.ICookieContainerFactory, ABZ.RFOA.Core"
               type="ABZ.RFOA.Core.Utility.CookieContainerFactory, ABZ.RFOA.Core">
</component>
<component id="CookieContainer"
           type="System.Net.CookieContainer, System"
           factoryId="CookieContainerFactory"
           factoryCreate="GetCookieContainer"
           lifestyle="singleton"> 
</component>

Но это вызывает у меня исключение:

Castle.MicroKernel.SubSystems.Conversion.ConverterException: не удалось преобразовать из 'System.Net.CookieContainer, System' в System.Type - возможно, тип не найден

Я не понимаю, что System.Type делает здесь.Как мне решить это?

1 Ответ

2 голосов
/ 22 августа 2011

Попробуйте использовать полное имя сборки

System.Net.CookieContainer, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

вместо просто System.Net.CookieContainer, System

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...