Проблема с настройкой DI контейнера Ninject.
Имеется автоматически сгенерированный класс NinjectWebCommon
. В этом классе в методе RegisterService
регистрирую свой класс
private static void RegisterServices(IKernel kernel)
{
DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
}
Мой класс имеет следующий код
public class NinjectDependencyResolver : IDependencyResolver
{
private IKernel kernel;
public NinjectDependencyResolver(IKernel kernel)
{
this.kernel = kernel;
kernel.ConfigurateResolverWeb();
}
public object GetService(Type serviceType)
{
return kernel.TryGet(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
return kernel.GetAll(serviceType);
}
}
Так же имеется статический класс, который предоставляет расширяющие методы для регистрации:
public static void ConfigurateResolverWeb(this IKernel kernel)
{
Configure(kernel, true);
}
public static void ConfigurateResolverConsole(this IKernel kernel)
{
Configure(kernel, false);
}
private static void Configure(IKernel kernel, bool isWeb)
{
if (isWeb)
{
kernel.Bind<IUnitOfWork>().To<UnitOfWork>().InRequestScope();
kernel.Bind<DbContext>().To<EntityModel>().InRequestScope();
}
else
{
kernel.Bind<IUnitOfWork>().To<UnitOfWork>().InSingletonScope();
kernel.Bind<DbContext>().To<EntityModel>().InSingletonScope();
}
// ......
}
При запуске Web-приложения, в методе запуска NinjectWebCommon
генерируется ошибка
public static void Start()
{
DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));
DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));
bootstrapper.Initialize(CreateKernel); // Здесь ошибка
}
Исключение:Вызвано: "Отказано в доступе по пути "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\~AspAccessCheck_1f61be7910612.tmp"." (System.UnauthorizedAccessException) Возникло System.UnauthorizedAccessException: "Отказано в доступе по пути "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\~AspAccessCheck_1f61be7910612.tmp"." Время: 21.01.2017 23:38:08 Поток:<Без имени>[10612]
Не пойму в чем проблема. Подскажите как справиться с данной проблемой
Уcтановлены пакеты: Ninject 3.2.2
, Ninject.MVC3 3.2.1
, Ninject.Web.Common 3.2.3
P.S. Проверял в консольном приложении - все работает. Использовал такой код
kernel = new StandardKernel();
kernel.ConfigurateResolverConsole();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Вопрос по TcpClientНапример, один TcpClient отправляет какое то сообщение другому
Пытаюсь поменять цвет текст в строке, но при загрузке формы строка моргнет нужным цветом и опять станет цвет по умолчанию
Есть необходимость присоединять один массив байт к другому (много раз подряд)