我想看看这是否可能。我想通过工厂类从温莎城堡解决 WCF 服务类。WCF 服务托管在 IIS 中,到目前为止,当我在使用工厂时尝试调用该服务时,我只收到 404。这是我的注册码:
container.AddFacility<WcfFacility>();
container.Register(Component.For<IServiceFactory>()
.ImplementedBy<ServiceFactory>()
.LifestyleSingleton());
container.Register(Component.For<IFooService>()
.UsingFactoryMethod((kernel, context)
=> kernel.Resolve<IServiceFactory>()
.CreateService(context.RequestedType))
.Named("FooService")
.LifestylePerWcfOperation());
这是我的工厂类:
public class ServiceFactory : IServiceFactory
{
public IFooService CreateService(Type forType)
{
IFooService createdType = null;
if (forType == typeof(IFooService))
createdType = new FooService();
return createdType;
}
}
我试过做一个海峡 .ImplementedBy<FooService>() 并且效果很好。只有当我想通过工厂进行操作时,我才会遇到问题。这是可能的,意味着我错过了什么,还是不可能?
(我知道显示的代码非常简单,我只是在完全实现我的工厂代码之前测试它是否可能)