在我们的网络应用程序中,我们观察到以下内容:
GetUser / CreatMembershipEntities / ExplicitLoadFromAssembly似乎非常昂贵。
还注意到正在调用CreateEntityConnection - EntityFramework?
我并不完全相信EF已正确配置此应用程序。如果是,并且正在使用中,我不会期望看到每个呼叫都启动新的连接 - 是/否?
是一种简化此操作以避免某些主要代码重构的方法吗?
使用System.Web.Security.Membership.GetUser()
似乎是个大问题。而不是使用MembershipProvider来创建用户,而是只执行执行相同操作的sproc。
就我而言,我发现以下代码非常荒谬 - 为每个用户创建一个新的调用,直到可以生成一个唯一的代码:
For i As Integer = 1 To Integer.MaxValue
'Generate unique username
If System.Web.Security.Membership.GetUser(userName & i) Is Nothing Then
'Increment value until no duplicate username found
userName = userName & i
Exit For
End If
Next
- 更新 -
我稍微修改了这个问题......
我们最多可以运行20个用户,然后IIS服务器就会启动。 GetUser()方法每次都创建一个全新的连接吗?它看起来像是基于结果。如何确保此GetUser()事实上正在使用db上下文,而不是自己创建连接?