Простой ответ - да! Код будет использовать одну и ту же реализацию для всех контроллеров, если вы явно не настроите иначе, используя When...
методы.
Если вы хотите повторно использовать не реализацию, а тот же экземпляр объекта , вы можете настроить это, используя такие методы, как InScope
, InRequestScope
, InSingletonScope
, как вы уже это делаете для ISession и ISessionFactory.
Из документации:
// Summary:
// Indicates that instances activated via the binding should be re-used within
// the same HTTP request.
IBindingNamedWithOrOnSyntax<T> InRequestScope();
//
// Summary:
// Indicates that only a single instance of the binding should be created, and
// then should be re-used for all subsequent requests.
IBindingNamedWithOrOnSyntax<T> InSingletonScope();
Использование Repository
в синглтоне - плохая идея. Я использую InRequestScope
, чтобы один экземпляр обслуживал только один запрос. Если вы используете Entity Framework, вы можете проверить этот ответ для деталей