Способ регистрации этого в Простом Инжекторе:
container.Register(typeof(IEntityRepository<,>), typeof(EntityRepository<,>));
container.Register<IProductsDbContext, ProductsDbContext>();
В Простом Инжекторе нет эквивалента AsImplementedInterfaces
, хотя есть несколько способов добиться того же самого. В случае, если ProductsDbContext
имеет несколько интерфейсов, которые необходимо зарегистрировать, наиболее очевидный способ - зарегистрировать каждый интерфейс явно:
container.Register<IProductsDbContext, ProductsDbContext>();
container.Register<IUsersDbContext, ProductsDbContext>();
container.Register<ICustomersDbContext, ProductsDbContext>();
Я не могу начать говорить достаточно хороших вещей о EMS Tibco - реализация Java JMS обменивающаяся сообщениями спецификация. Tibco EMS имеет превосходную поддержку клиентов.NET - включая Компактную Платформу.NET на WinCE. (У них также есть клиентские библиотеки C также.)
Поэтому при создании неоднородного вовлечения распределенного приложения, передающего код, работающий на Windows, Unix (AIX/Солярис), Linux или Mac OS X, затем Tibco, EMS является билетом.
Выезд моя статья здесь:
Используя JMS Для Разработки Распределенных программных средств
я раньше работал в Microsoft и сделал некоторую реализацию с MSMQ в то время как там. Но Вы знаете, Microsoft просто интересуется Windows. Они зависели от третьих сторон для обеспечения клиентов MSMQ другим платформам. Мое обнаружение с EMS Tibco было намного лучшим опытом. Было очень очевидно, что Tibco понял обмен сообщениями намного больше, чем Microsoft. И Tibco прикладывают усилия к поддержке самой разнообразной клиентской привязки. Именно поэтому они в конечном счете изменили название продукта от Tibco JMS до EMS Tibco (Служба обмена сообщениями Предприятия).
И я действительно создавал неоднородные программные системы вокруг EMS Tibco. Прокрученная.NET C# клиенты Winform, взаимодействующие со средним уровнем Java/JBoss через обмен сообщениями EMS Tibco. (И также имейте WinCE промышленные встроенные компьютеры, которые используют Компактную Платформу.NET клиент Tibco.)
Может не быть совет "лучшей практики" здесь..., но на основе реальных потребностей и опыта: у нас есть распределенная система, 60 полей, выполняющих каждого 10 клиентов, все делают задачу X, и они должны взять следующую задачу от очереди. Очередь питается от еще одного "клиента"...
Мы использовали, предают коммуникацию процесса земле, мы использовали MSMQ, мы судили сервисного брокера... Это просто не работает в долгосрочной перспективе, потому что Вы выдаете управление своего приложения к Microsoft. Это работает отлично, пока Ваши потребности удовлетворены. это становится адом при необходимости в чем-то не поддерживаемом.
лучшее решение для нас было: Используйте таблицу SQL Database в качестве очереди. Не изобретайте велосипед там, так как Вы сделаете ошибки (блокировки). Существует информация там о том, как сделать это, это очень легко, и мы обработали по сообщениям 200K на 24-й (с 60x10 = 600 параллельных чтений и записи очереди). Это в дополнение к той же остальной части обработки SQL-сервера материала приложения...
Некоторые причины, почему MSMQ не работает:
, Когда необходимо изменить логику очереди к не FIFO, но что-то как "самое старое КРАСНОЕ сообщение" или "самое старое СИНЕЕ сообщение", Вы не можете сделать этого. (Я знаю то, что скажут люди, можно сделать это при наличии красная очередь и синяя очередь ...But, что, если число/типы очередей является динамичным на основе пути, приложением управляют и ежедневно изменяется?)
Это добавляет точку отказа, и кошмар развертывания (очередь является точкой отказа, и необходимо иметь дело с установкой правильных полномочий на всех полях к сообщениям чтения-записи и т.д.' в Программном обеспечении предприятия, которое Вы оплачиваете в крови подобные вещи). SQL-сервер... все клиенты уже пишут/читают из DB, это - просто еще одна таблица..
Если стоивший не проблема ( существует также экспресс SKU ), затем смотрят на гориллу за 800 000 фунтов. WebSphere MQ (Ряд MQ). Это работает практически на любой платформе и поддерживает столько различных диспетчеров очереди и обменивающихся сообщениями шаблонов, действительно не уместно перечислить их здесь.
Если высокой доступностью является важный Amazon, на SQS стоит посмотреть. Нет большого количества дополнительных издержек, если сообщения прибывают из различных физических местоположений. Дешевый и масштабируемый!