RolePrincipal.CachedListChanged Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que indica si la lista de nombres de rol almacenada con el objeto RolePrincipal ha sido modificada.
public:
property bool CachedListChanged { bool get(); };
public bool CachedListChanged { get; }
member this.CachedListChanged : bool
Public ReadOnly Property CachedListChanged As Boolean
Valor de propiedad
Es true
si se ha modificado la lista de nombres de rol almacenada con el objeto RolePrincipal; de lo contrario, es false
.
Ejemplos
En el ejemplo siguiente se muestra información de almacenamiento en caché de roles para el usuario actual si está habilitada la administración de roles. Para obtener información sobre cómo habilitar la administración de roles, consulte la Roles clase .
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Page_Load()
{
try
{
RolePrincipal r = (RolePrincipal)User;
IsCachedLabel.Text = r.IsRoleListCached.ToString();
CacheChangedLabel.Text = r.CachedListChanged.ToString();
ExpiredLabel.Text = r.Expired.ToString();
VersionLabel.Text = r.Version.ToString();
IssueDateLabel.Text = r.IssueDate.ToString();
ExpireDateLabel.Text = r.ExpireDate.ToString();
CookiePathLabel.Text = r.CookiePath;
Msg.Text = "";
}
catch (InvalidCastException)
{
Msg.Text = "User is not of type RolePrincipal. Are roles enabled?";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Role Information</title>
</head>
<body>
<form id="form1" runat="server">
Role Information for <b><%=User.Identity.Name%></b>.<br />
<asp:Label id="Msg" runat="Server" ForeColor="maroon" /><br />
<table border="1" cellpadding="4" cellspacing="4">
<tr>
<td>IsRoleListCached</td>
<td><asp:Label id="IsCachedLabel" runat="Server" /></td>
</tr>
<tr>
<td>CachedListChanged</td>
<td><asp:Label id="CacheChangedLabel" runat="Server" /></td>
</tr>
<tr>
<td>Expired</td>
<td><asp:Label id="ExpiredLabel" runat="Server" /></td>
</tr>
<tr>
<td>Version</td>
<td><asp:Label id="VersionLabel" runat="Server" /></td>
</tr>
<tr>
<td>IssueDate</td>
<td><asp:Label id="IssueDateLabel" runat="Server" /></td>
</tr>
<tr>
<td>ExpireDate</td>
<td><asp:Label id="ExpireDateLabel" runat="Server" /></td>
</tr>
<tr>
<td>CookiePath</td>
<td><asp:Label id="CookiePathLabel" runat="Server" /></td>
</tr>
</table>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub Page_Load()
Try
Dim r As RolePrincipal = CType(User, RolePrincipal)
IsCachedLabel.Text = r.IsRoleListCached.ToString()
CacheChangedLabel.Text = r.CachedListChanged.ToString()
ExpiredLabel.Text = r.Expired.ToString()
VersionLabel.Text = r.Version.ToString()
IssueDateLabel.Text = r.IssueDate.ToString()
ExpireDateLabel.Text = r.ExpireDate.ToString()
CookiePathLabel.Text = r.CookiePath
Msg.Text = ""
Catch e As InvalidCastException
Msg.Text = "User is not of type RolePrincipal. Are roles enabled?"
End Try
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Role Information</title>
</head>
<body>
<form id="form1" runat="server">
Role Information for <b><%=User.Identity.Name%></b>.<br />
<asp:Label id="Msg" runat="Server" ForeColor="maroon" /><br />
<table border="1" cellpadding="4" cellspacing="4">
<tr>
<td>IsRoleListCached</td>
<td><asp:Label id="IsCachedLabel" runat="Server" /></td>
</tr>
<tr>
<td>CachedListChanged</td>
<td><asp:Label id="CacheChangedLabel" runat="Server" /></td>
</tr>
<tr>
<td>Expired</td>
<td><asp:Label id="ExpiredLabel" runat="Server" /></td>
</tr>
<tr>
<td>Version</td>
<td><asp:Label id="VersionLabel" runat="Server" /></td>
</tr>
<tr>
<td>IssueDate</td>
<td><asp:Label id="IssueDateLabel" runat="Server" /></td>
</tr>
<tr>
<td>ExpireDate</td>
<td><asp:Label id="ExpireDateLabel" runat="Server" /></td>
</tr>
<tr>
<td>CookiePath</td>
<td><asp:Label id="CookiePathLabel" runat="Server" /></td>
</tr>
</table>
</form>
</body>
</html>
Comentarios
La CachedListChanged propiedad devolverá true
una vez recuperados los nombres de rol del rol Provider predeterminado y agregados a la memoria caché por el GetRoles método, o cuando el IsInRole método llama al IsUserInRole método del proveedor de roles predeterminado y, a continuación, recibe una respuesta de true
, lo que da como resultado el nombre de rol pasado al IsInRole método que se va a agregar a la memoria caché.
La CachedListChanged propiedad también devolverá true si CookieSlidingExpiration se establece true
en y se ExpireDate ha pasado, lo que da lugar a un nuevo ExpireDate conjunto.