Qualcuno può indicarmi la direzione giusta per far funzionare Ninject con l'anteprima 5 dell'API Web WCF? L'ho installato e avviato correttamente nel mio progetto ASP.NET MVC 3 e anche in un altro servizio WCF interno che utilizza la libreria Ninject.Extensions.Wcf. Tuttavia non riesco a farlo funzionare quando si crea un nuovo progetto MVC 3 e si ottiene la libreria WebApi.All da NuGet.Come funziona con l'API Web WCF Anteprima 5
Ho esaminato questo post StackOverflow Setting up Ninject with the new WCF Web API ma non riesco a farlo funzionare che credo possa avere a che fare con alcune delle modifiche nell'ultima versione.
Sono inoltre sicuro di quali librerie Ninject fare riferimento oltre quella principale. Uso il Ninject.MVC3, Ninject.Extensions.Wcf.
Qualsiasi aiuto su questo sarebbe molto apprezzato.
**** UPDATE **
codice che sto usando, che è dalla risposta alla questione di cui sopra. Ho questo nel suo file di 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
}
}
Questo ho nel mio global.asax:
var configuration = HttpConfiguration.Create().SetResourceFactory(new NinjectResourceFactory());
RouteTable.Routes.MapServiceRoute<myResource>("resource", configuration);
Il problema che sto avendo è che l'interfaccia IResourceFactory non viene riconosciuto e che il HttpConfiguration.Create() non esiste più, quindi ho bisogno per impostare SetResourceFactory in un altro modo che ho provato a fare utilizzando il metodo HttpConfiguration(). CreateInstance ma senza gioia.
Si prega di inviare il vostro codice –
@Alexander hanno inviato un aggiornamento con il codice come richiesto. – Cragly