У меня есть консольное приложение - рабочий - который прослушивает сообщения, входящие в систему quering, и выполняет некоторые задачи, связанные с доступом к базе данных для каждого из сообщений. Я использую EF 6 для доступа к db MSSQL, и в моей реализации я использую Единицу работы. Мой контейнер DI Autofac - я новичок в этом, и я использую его для связывания между многими другими функциями IUnitOfWork для UnitOfWork.Autofac, консольное приложение и UnitOfWork
Проблема, с которой я столкнулся, и я не знаю, как с этим бороться: я хочу, чтобы каждый экземпляр UnitOFWork для каждого сообщения, поэтому он не может быть Singleton, но во время той же обработки сообщений мне нужен тот же экземпляр UnitOfWork, поэтому он не может быть -Instance Per Dependency.
спасибо.
Это лучшее решение. В частности, если вы не можете добраться до контейнера, как проекты промежуточного программного обеспечения. –
@MaDeRkAn 'ILifetimeScope' и' Owned' оба определены в сборке 'Autofac', поэтому я предполагаю, что у одного есть либо доступ к обоим, либо none. Мне нравится использовать 'Owned' больше, потому что я думаю, что идея выражена более« лаконично и точно ». Это всегда можно написать для него обычную оболочку, хотя - если вы хотите убедиться, что не слишком много материалов «Составной корень» просачивается во все проекты. – BatteryBackupUnit