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