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

本文关键字:API NET 调用 绑定 保留 许多 是否 Ninject | 更新日期: 2023-09-27 18:36:48

我在我的网站上为 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();

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

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