我的 WCF 项目中有几个 Web 服务需要自定义ServiceAuthorizationManager
才能对 OAuth 调用进行身份验证。为此,我创建了一个自定义WebServiceHostFactory
. 我正在连接 Ninject 并且很难将其转换为NinjectWebServiceHostFactory
. 这是我的代码:
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
到 aNinjectWebServiceHost
时,它要求IServiceBehavior
执行。ServiceBehavior
我的Web 服务上有一个属性,ServiceBehavior
我的web.config
.
有没有人看到这一点并能够成功实施这样的事情?有没有更好的方法来为我的 2 个 Web 服务连接它?我不希望这影响我所有的 Web 服务。