Я начинаю разбираться в Windows Azure. Обычно я использую NInject в качестве контейнера IoC в веб-приложениях. Однако при попытке использовать его в веб-роли Azure я получаю исключение безопасности (что-то связано с разрешением на отражение).
Кто-нибудь использовал другой IoC с Azure и имел успех?





Я только что создавал прототип со службами Azure сегодня (хотя и не с веб-ролью). Контейнер Autofac IoC для .NET работал в этом сценарии.
Из группы Google Ninject: http://groups.google.com/group/ninject/browse_thread/thread/8d5a0aff853c6b4f/20209877f8db179a?show_docid=20209877f8db179a
Если вы установите опцию ядра UseReflectionBasedInjection, Ninject будет работать в Azure (а также в других средах с частичным доверием):
var options = new KernelOptions
{
UseReflectionBasedInjection = true
};
var kernel = new StandardKernel(options, new ModuleA(), new ModuleB(), ...);
Детерминированная история утилизации Windsor в последнее время улучшилась в связи с введением нагрузки на компоненты.
Раньше я пытался использовать NInject, но ему не хватало быстрой поддержки производительности для сложных иерархий контейнеров (и временных экземпляров) и детерминированного удаления. У Виндзора тоже было несколько проблем в этих областях.