Changes in Ninject 2 говорят, что Ninject поддержка Common Service Locator, но как его использовать? Я не нахожу никакого руководства или образца.Как использовать Common Service Locator в Ninject 2
ответ
Загрузка Ninject2 содержит CommonServiceLocator.NinjectAdapter.dll
(в папке «расширения» zip-файла). Добавьте эту DLL и Ninject.dll
в свой проект.
В пути запуска вашего приложения (после настройки ядра Ninject), вы можете использовать следующий код:
IKernel ninject = ...;
var locator = new NinjectServiceLocator(ninject);
ServiceLocator.SetLocatorProvider(() => locator);
Обратите внимание, что Common Service Locator (CSL) является библиотекой, которая обеспечивает абстракцию над контейнерами IoC и содержит статический фасад (реализующий шаблон локатора службы). Это общий интерфейс, который разработчики могут использовать для предотвращения в зависимости от конкретной реализации IoC. CSL особенно полезен для разработчиков рамок. Разработчики приложений лучше используют шаблон инъекции зависимостей (DI). Когда DI используется правильно, нет необходимости использовать CSL в приложении. Хотя CSL больше подходит для разработки рамок, даже там я считаю использование CSL сомнительным. Полагайте, что большую часть времени использование такого общего интерфейса может быть устранено путем правильной разработки.
- 1. Autofac WebAPI Common Service Locator
- 2. Service Locator в Global.asax
- 3. Поддерживает ли Common Service Locator Mono .NET?
- 4. WPF DI Service Locator
- 5. МОК без Service Locator
- 6. zf2: как получить Service Locator в модели
- 7. Почему Unity использует Service Locator?
- 8. Service Locator: Получить весь экспорт
- 9. Ninject Service layer repo
- 10. Использование Ninject и обязательным реализацию по умолчанию, избегая при этом Страшный Service Locator антишаблоном
- 11. DI или DI/Service Locator контейнер?
- 12. Реализация Service Locator с инжектированными вариациями общего типа
- 13. Moq Service Locator для модульного теста
- 14. Service Locator с использованием статических методов
- 15. Как избежать жестких ссылок в Generic Service Locator?
- 16. Как превратить шаблон Service Locator в настоящий шаблон инъекции зависимостей?
- 17. Как написать модульный тест для ActionFilter при использовании Service Locator
- 18. Является ли Service Locator анти-шаблоном в подключаемой архитектуре?
- 19. Как использовать Ninject с XNA?
- 20. Как использовать Ninject
- 21. Как использовать Ninject 2 в приложении ASP.NET MVC 3?
- 22. Как использовать поставщика в Ninject
- 23. ninject 2 и db4o
- 24. Определение местоположения бетона класса в Service Locator Pattern
- 25. Service Locator не установлен в fubuMVC Образец HelloWorld
- 26. Ninject 2 и MVC 2.0
- 27. Injecting HttpContext в Ninject 2
- 28. Контекстные переменные в Ninject 2
- 29. Как НЕ использовать ядро Ninject в качестве локатора ресурсов
- 30. NinJect Get Service не возвращает экземпляр класса
Что делает CommonServiceLocator? – Chev
Gotcha, спасибо за информацию. Я с тобой согласен. – Chev