2

我们很难使用 Ninject wcf 扩展。我们在 IIS 中托管我们的服务并使用 svc 文件。我们已经阅读了很多描述NinjectServiceHostFactory(在 svc 文件中)与NinjectHttpApplication(在global.asax文件中)的用法的帖子,看起来很简单。我们的问题是我们已经有了自定义ServiceHostFactoryServiceHost.

有人能指出我们结合我们的正确方法ServiceHostFactoryNinjectServiceHostFactory

我们的 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();
    }
}
4

0 回答 0