获取ASP.NET MembershipProvider中的当前ApplicationId

时间:2009-06-14 23:35:08

标签: asp.net asp.net-membership

我正在使用MembershipProvider,由于我将其与一些自定义安全性一起设置,我需要获取当前应用程序的ApplicationId(Guid)。使用Membership.ApplicationName很容易获得应用程序名称,但我发现没有简单的方法来获取Id。

2 个答案:

答案 0 :(得分:6)

我相信您需要编写自己的代码(如自定义存储过程)来获取ID。该数据旨在由成员资格提供者的内置实现私有使用,并且不是提供者接口的一部分(即,它可能不存在于提供者的某些实现中)。用户ID也是如此。好消息是为默认实现编写存储过程非常简单。

你只需要:

SELECT ApplicationId FROM aspnet_Applications 
WHERE ApplicationName = 
    (System.Web.Security.Membership.Provider.ApplicationName 
        from the ASP.NET code)

如果您确实需要此ID,可能需要重新考虑

答案 1 :(得分:0)

默认的SQLMembership架构确实有一个您调用的存储采购。 aspnet_Applications_CreateApplication, @ApplicationName (input), @ApplicationID (output) 如果找到匹配项,这将创建新ID或返回现有ID。