我们很难使用Ninject wcf扩展。我们在IIS中使用svc文件托管我们的服务。我们已经阅读了很多帖子,描述NinjectServiceHostFactory
(在svc文件中)与NinjectHttpApplication
(在global.asax
文件中)的用法,看起来非常简单。
我们的问题是我们已经拥有自定义ServiceHostFactory
和ServiceHost
。
有人能指出我们将ServiceHostFactory
与NinjectServiceHostFactory
结合起来的正确方法吗?
我们的svc文件指向我们的自定义ServiceHostFactory
。
更新
似乎我们设法实现了它。 我们的ServiceHostFactory实现:
public class CustomServiceHostFactory : NinjectServiceHostFactory
{
protected override Type ServiceHostType
{
get
{
return typeof(CustomServiceHost<>);
}
}
}
我们的ServiceHost实施:
public class CustomServiceHost<T> : NinjectAbstractServiceHost<T>
{
public CustomServiceHost(IServiceBehavior serviceBehavior, T serviceType, params Uri[] baseAddresses) : base(serviceBehavior, serviceType, baseAddresses)
{
...
}
protected override void OnOpening()
{
...
base.OnOpening();
}
}