Спасибо, это помогло мне с подобной проблемой.

я проблема с Ninject.

Мои обязательные правила:

this.Bind<ISphinxQLServer>().To<SQLServer>();
this.Bind<IMySQLServer>().To<SQLServer>();

this.Bind<ISQLLogger>().To<StandardSQLLogger>()
    .InRequestScope();

this.Bind<DatabaseConnections>()
    .ToMethod(x => ConnectionFactory.GetConnections())
    .InRequestScope();

this.Bind<SQLServer>().ToSelf()
    .InRequestScope()
    .WithConstructorArgument("connections", Kernel.Get<DatabaseConnections>())
    .WithConstructorArgument("logger", Kernel.Get<ISQLLogger>());

куда

SQLServer, ISphinxQLServer и IMySQLServer:

public class SQLServer: ISphinxQLServer, IMySQLServer
{
    public DatabaseConnections Connections { get; internal set; }
    public ISQLLogger Logger { get; internal set; }

    public SQLServer(DatabaseConnections connections)
    {
        this.Connections = connections;
    }

    public SQLServer(DatabaseConnections connections, ISQLLogger logger)
    {
        this.Connections = connections;
        this.Logger = logger;
    }
}

Я хочу, чтобы каждый пользовательский запрос к моему сайту asp.net mvc создавал один SQLServer, один ISQLLogger и одну DatabaseConnections. Но мое решение не работает. Что я делаю неправильно? знак равно

Ответы на вопрос(1)

Ваш ответ на вопрос