Quelqu'un peut-il m'indiquer la bonne direction pour faire fonctionner Ninject avec WCF Web API Preview 5 ? J'ai réussi à le faire fonctionner dans mon projet ASP.NET MVC 3 et aussi dans un autre service WCF interne en utilisant la bibliothèque Ninject.Extensions.Wcf. Cependant, je n'arrive pas à le faire fonctionner en créant un nouveau projet MVC 3 et en obtenant la bibliothèque WebApi.All de NuGet.
J'ai regardé ce post sur stackoverflow Configuration de Ninject avec la nouvelle API Web WCF mais je n'arrive pas à le faire fonctionner, ce qui pourrait être dû à certains changements dans la dernière version.
Je ne sais pas non plus à quelles bibliothèques Ninject me référer en plus de la principale. Dois-je utiliser les bibliothèques Ninject.MVC3 , Ninject.Extensions.Wcf.
Toute aide à ce sujet serait très appréciée.
****UPDATE**
Le code que j'utilise est celui de la réponse à la question mentionnée ci-dessus. Je l'ai placé dans son propre fichier de classe.
public class NinjectResourceFactory : IResourceFactory
{
private readonly IKernel _kernel;
public NinjectResourceFactory(IKernel kernel)
{
_kernel = kernel;
}
public object GetInstance(Type serviceType, InstanceContext instanceContext, HttpRequestMessage request)
{
return _kernel.Get(serviceType);
}
public void ReleaseInstance(InstanceContext instanceContext, object service)
{
// no op
}
}
C'est ce que j'ai dans mon global.asax :
var configuration = HttpConfiguration.Create().SetResourceFactory(new NinjectResourceFactory());
RouteTable.Routes.MapServiceRoute<myResource>("resource", configuration);
Le problème que je rencontre est que l'interface IResourceFactory n'est pas reconnue et que la méthode HttpConfiguration.Create() n'existe plus. Je dois donc définir la SetResourceFactory d'une autre manière, ce que j'ai essayé de faire en utilisant la méthode HttpConfiguration().CreateInstance, mais sans succès.