Как работают Action в Контроллерах когда к ним обращаются сразу несколько пользователей?
Никаких lock-ов в экшене не будет (если вы их сами туда не поставите), и не нужно им там быть. Дефолтовая фабрика контроллеров создает инстанс контроллера на каждый запрос, поэтому 99 пользователей одного ждать не будут. Если нужны подробности - ищите в гугле "asp.net mvc controller instancing", вываливается масса статей с которых можно начать разбираться.
Nipheris: Примерно так kernel.Bind<IDatabaseFactory>().To<DatabaseFactory>().InSingletonScope();