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();
}
}