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