Кто-нибудь может указать мне правильное направление, чтобы заставить Ninject работать с WCF Web API Preview 5? Он успешно запущен в моем проекте ASP.NET MVC 3, а также в другой внутренней службе WCF с использованием библиотеки Ninject.Extensions.Wcf. Однако я не могу заставить его работать при создании нового проекта MVC 3 и получении библиотеки WebApi.All от NuGet.
Я посмотрел эту публикацию о потоке стека Настройка Ninject с новым веб-API WCF , но не могу заставить его работать, что, я думаю, может быть связано с некоторыми изменениями в последней версии.
Я также не уверен, на какие библиотеки 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 метод, но не радость.