Ninject:我是否可以在许多 .NET API 调用中保留绑定



我在我的网站上为 rabbitMQ 提供了以下 ninject 绑定,它使用 .NET API 2。

当我访问网站上的许多页面时,这种绑定只会在第一次发生。 这是我所期望的,因为InSingletonScope()。

当我点击 Web API 时,每次调用都会发生绑定。 有没有办法在 API 调用之间保持连接?

        Bind<IConnection>()
            .ToMethod(ctx =>
                      {
                          var connectionString = WebConfigurationManager.ConnectionStrings["RabbitMQ"].ConnectionString;
                          var factory = new ConnectionFactory
                                        {
                                            Uri = connectionString,
                                            RequestedHeartbeat = 15
                                        };
                          var connection = factory.CreateConnection();
                          return connection;
                      })
            .InSingletonScope();

修复方法是安装 nuget 包 Ninject.Web.WebApi (https://www.nuget.org/packages/Ninject.Web.WebApi)。 一旦我做了那个ninject,正确地重新使用了我的InSingletonScope()绑定。

最新更新