已存在ServiceHostFactory和ServiceHost的Ninject WCF扩展

已存在ServiceHostFactory和ServiceHost的Ninject WCF扩展,wcf,ninject,servicehost,Wcf,Ninject,Servicehost,我们很难使用Ninject wcf扩展。我们在IIS中托管服务,并使用svc文件。我们已经阅读了很多文章,描述了NinjectServiceHostFactory(在svc文件中)与NinjectHttpApplication(在global.asax文件中)的用法,看起来非常简单。 我们的问题是,我们已经有了定制的ServiceHostFactory和ServiceHost 有人能告诉我们将我们的ServiceHostFactory与NinjectServiceHostFactory相结合的正

我们很难使用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<>);
        }
    }
}
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();
    }
}
公共类CustomServiceHostFactory:NinjectServiceHostFactory
{
受保护的覆盖类型ServiceHostType
{
得到
{
返回类型(CustomServiceHost);
}
}
}
我们的ServiceHost实现:

public class CustomServiceHostFactory : NinjectServiceHostFactory
{
    protected override Type ServiceHostType
    {
        get
        {
            return typeof(CustomServiceHost<>);
        }
    }
}
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();
    }
}
公共类CustomServiceHost:NinjectAbstractServiceHost
{
公共CustomServiceHost(IServiceBehavior serviceBehavior,T serviceType,params Uri[]baseAddresses):基(serviceBehavior,serviceType,baseAddresses)
{
...
}
受保护的覆盖无效打开()
{
...
base.OnOpening();
}
}

请与我们分享您的代码。代码非常标准。我们在svc文件中定义了ServiceHostFactory。您是否尝试扩展
NinjectServiceHostFactory
,并将
ServiceHostFactory
中的代码放在那里?