我的WCF項目中有幾個Web服務需要自定義ServiceAuthorizationManager
才能夠驗證OAuth調用。爲此,我創建了一個自定義WebServiceHostFactory
。我正在連接Ninject,並且很難將其轉換爲NinjectWebServiceHostFactory
。這裏是我的代碼:Ninject - 創建自定義NinjectWebServiceHost
public class MyServiceHostFactory : WebServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
return new MyServiceHost(serviceType, baseAddresses);
}
}
public class MyServiceHost: WebServiceHost
{
public MyServiceHost(Type serviceType, Uri[] baseAddresses)
: base(serviceType, baseAddresses)
{
Authorization.ServiceAuthorizationManager = new OAuthAuthorizationManager();
}
}
當我切換WebServiceHost
到NinjectWebServiceHost
,它要求一個IServiceBehavior
實現。我在我的網絡服務上有ServiceBehavior
屬性,我的web.config
中有一個ServiceBehavior
部分。
有沒有人看到這個,並能夠成功實現這樣的事情?有沒有更好的方法來爲我的2個Web服務進行連接?我不希望這會影響我的所有Web服務。