Ninject:我可以在许多 .NET API 调用中保持绑定吗?
Ninject: can I persist a binding across many .NET API calls?
我的网站上有以下 ninject rabbitMQ 绑定,它使用 .NET API 2.
当我访问网站上的许多页面时,这种绑定只会在第一次发生。这是我期望的,因为 InSingletonScope()。
当我上网时 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() 绑定。
我的网站上有以下 ninject rabbitMQ 绑定,它使用 .NET API 2.
当我访问网站上的许多页面时,这种绑定只会在第一次发生。这是我期望的,因为 InSingletonScope()。
当我上网时 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() 绑定。