我正在使用ASP.Net Membership,并想知道究竟何时生成ApplicationID。我想知道在我们使用“Membership.CreateUser”方法时,会调用哪些事件以及何时生成ApplicationID。
我用Google搜索了一段时间但找不到任何满意的答案。
任何人都可以解释这种方法的工作原理吗?
由于
答案 0 :(得分:1)
我想知道调用什么事件以及ApplicationID是什么时候 当我们使用“Membership.CreateUser”方法时生成。
在处理对Membership表的任何请求之前(例如select / insert / update / delete), applicationName 检索 Application 。
例如,在 Membership.CreateUser 方法中,在创建新用户之前调用 QueryHelper.GetApplication 。
Application application = QueryHelper.GetApplication(membershipEntity,
applicationName);
// QueryHelper.GetApplication
internal static Application GetApplication(MembershipEntities ctx,
string applicationName)
{
ObjectParameter[] objectParameter = new ObjectParameter[1];
objectParameter[0] = new ObjectParameter("name",
applicationName.ToLowerInvariant());
Application application = ctx.CreateQuery<Application>(
"select value a FROM Applications as a WHERE ToLower(a.ApplicationName) = @name",
objectParameter).FirstOrDefault<Application>();
return application;
}
如果应用程序为null,则会创建一个这样的应用程序 -
internal static Application CreateApplication(MembershipEntities ctx,
string appName)
{
Application application = new Application();
application.ApplicationId = Guid.NewGuid();
application.ApplicationName = appName;
ctx.Applications.AddObject(application);
Application application1 = application;
return application1;
}
关于代码来自ASP.NET Universal Providers。传统成员资格提供程序使用存储过程,但逻辑几乎相同。