Herkes WCF Web API Önizleme 5 ile çalışan Ninject almak için bana doğru yönde işaret edebilir mi? Bunu, ASP.NET MVC 3 projemde ve ayrıca Ninject.Extensions.Wcf kütüphanesini kullanarak başka bir dahili WCF Hizmeti'nde başarıyla çalıştırıyorum. Ancak yeni bir MVC 3 projesi oluştururken ve WebApi.All kütüphanesini NuGet'ten aldığımda işe yaramayacağım.WCF Web API Önizleme 5 ile çalışma açma
Bu stackoverflow defterine Setting up Ninject with the new WCF Web API baktım ancak son sürümdeki bazı değişikliklerle ilgili olabileceğine inanıyorum.
Ayrıca hangi Ninject Kütüphanelerinin ana bilgisayarın ötesine atıfta bulunacağından da emin değilim. Ninject.MVC3, Ninject.Extensions.Wcf kullanırım.
Bu konuda herhangi bir yardım çok takdir edilecektir.
**** yukarıda belirtilen söz konusu cevap dan kullanıyorum GÜNCELLEME **
Kodu. Bunu kendi sınıf dosyasında var.
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
}
}
Benim Global.asax içinde var bu:
var configuration = HttpConfiguration.Create().SetResourceFactory(new NinjectResourceFactory());
RouteTable.Routes.MapServiceRoute<myResource>("resource", configuration);
ben yaşıyorum sorunu IResourceFactory arayüz tanınmadığı konusunda ve HttpConfiguration.Create() artık o kadar ihtiyacım var ki SetResourceFactory ayarlamak için başka bir şekilde HttpConfiguration(). CreateInstance yöntemini kullanarak yapmaya çalıştım ama neşe yok.
P5 yılında
istendiği gibi koduyla bir güncelleme yayınladı var @Alexander kodunuzu –
gönderin. – Cragly