Может ли кто-нибудь указать мне правильное направление, чтобы заставить Ninject работать с WCF Web API Preview 5? У меня он успешно запущен и работает в моем проекте ASP.NET MVC 3, а также в другой внутренней службе WCF с использованием библиотеки Ninject.Extensions.Wcf. Однако я не могу заставить его работать при создании нового проекта MVC 3 и получении библиотеки WebApi.All из NuGet.
Я просмотрел этот пост stackoverflow Настройка Ninject с новым WCF Web API, но не могу заставить его работать, что, как я полагаю, может быть связано с некоторыми изменениями в последней версии.
Я также не уверен, на какие библиотеки Ninject ссылаться помимо основной. Использую ли я Ninject.MVC3, Ninject.Extensions.Wcf.
Любая помощь в этом будет высоко оценена.
****ОБНОВИТЬ**
Код, который я использую, взят из ответа на вопрос, упомянутый выше. У меня есть это в своем собственном файле класса.
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
}
}
Это у меня есть в моем global.asax:
var configuration = HttpConfiguration.Create().SetResourceFactory(new NinjectResourceFactory());
RouteTable.Routes.MapServiceRoute<myResource>("resource", configuration);
Проблема, с которой я сталкиваюсь, заключается в том, что интерфейс IResourceFactory не распознан и что HttpConfiguration.Create() больше не существует, поэтому мне нужно установить SetResourceFactory другим способом, который я пытался сделать с помощью метода HttpConfiguration().CreateInstance, но не радость.