2009-06-14 12 views
5

Estoy utilizando MembershipProvider y debido a la forma en que lo he configurado junto con cierta seguridad personalizada, necesito obtener el ApplicationId (Guid) de la aplicación actual. Es fácil obtener el nombre de la aplicación utilizando Membership.ApplicationName, pero no he encontrado una forma fácil de obtener el Id.Obtenga ApplicationId actual en ASP.NET MembershipProvider

Respuesta

6

Creo que tendrá que escribir su propio código (como un procedimiento almacenado personalizado) para obtener la ID. Estos datos están destinados para uso privado por la implementación integrada del proveedor de membresía y no son parte de la interfaz del proveedor (es decir, pueden no existir en algunas implementaciones del proveedor). Lo mismo aplica para la identificación del usuario. La buena noticia es que escribir un procedimiento almacenado para la implementación predeterminada es bastante sencillo.

sólo tiene que:

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

Es posible que desee volver a pensar si realmente necesita este ID

+0

Creo que tiene razón, no hay forma de construir en el marco para pensar. SQL personalizado es la única forma. – Craig

0

El esquema SQLMembership por defecto tiene un almacenados procurado que llamar a Cal. aspnet_Applications_CreateApplication, @ApplicationName (input), @ApplicationID (output) Esto creará una nueva identificación o devolverá la identificación existente si se encuentra una coincidencia.

Cuestiones relacionadas