我们很难使用 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();
}
}