我有一个组件,其中我依赖于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在这里做了什么。我该怎么解决这个问题?
答案 0 :(得分:2)
尝试使用程序集限定名称
System.Net.CookieContainer, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
而不只是System.Net.CookieContainer, System