如何解决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
服务计划,这是我以前从未需要做的事情。
这是门户网站告诉我的:
用红色划掉的 IP 是 SQL 身份数据库的连接。对于这种情况,这是正常的连接数量吗?
我的 Unity 配置是否有问题,是否使实体框架建立了比应有的更多连接?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。