[英]When ApplicationID is generated in Membership.CreateUser method?
我正在使用ASP.Net成员身份,想知道何时确切生成ApplicationID。 我想知道当我们使用“ Membership.CreateUser”方法时将调用什么事件以及何时生成ApplicationID。
我用谷歌搜索了一段时间,但是找不到满意的答案。
谁能解释这种方法的作用?
谢谢
我想知道当我们使用“ Membership.CreateUser”方法时将调用什么事件以及何时生成ApplicationID。
在处理对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;
}
如果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通用提供程序 。 传统成员资格提供程序使用存储过程,但是逻辑几乎相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.