IdentityDbContext 似乎建立了太多连接

问题描述

我在 Azure 应用服务应用程序 (.NET 4.7.1) 中使用 IdentityDbContext,并使用 Unity 将其注入控制器和其他类构造函数

这是它在 Unity 中的配置方式

container.RegisterType<DbContext,ApplicationDbContext>(new Unity.AspNet.Mvc.PerRequestLifetimeManager());
container.RegisterType<IdentityDbContext<ApplicationUser>>(new Unity.AspNet.Mvc.PerRequestLifetimeManager());

 
container.RegisterType(typeof(IUserStore<ApplicationUser>),typeof(UserStore<ApplicationUser>),new Unity.AspNet.Mvc.PerRequestLifetimeManager());
container.RegisterType<ApplicationUserManager>(new Unity.AspNet.Mvc.PerRequestLifetimeManager());
                

所以我认为我做对了,我希望为每个访问我的 API 的请求创建一个新实例。

ApplicationUserManager 被注入到一个基类控制器中,许多其他控制器继承自该基类控制器。

据我所知,Entity Framework 有一个连接池,可以选择重用或打开连接,所以这应该不是问题。

问题来了。在 Azure 中,我突然开始注意到出站连接是如何耗尽的,我不得不升级B2 服务计划,这是我以前从未需要做的事情。

这是门户网站告诉我的:

enter image description here

用红色划掉的 IP 是 sql 身份数据库的连接。对于这种情况,这是正常的连接数量吗?

我的 Unity 配置是否有问题,是否使实体框架建立了比应有的更多连接?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)