MembershipUser.IsOnline Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets whether the user is currently online.
public:
property bool IsOnline { bool get(); };
public:
virtual property bool IsOnline { bool get(); };
public bool IsOnline { get; }
public virtual bool IsOnline { get; }
member this.IsOnline : bool
Public ReadOnly Property IsOnline As Boolean
Public Overridable ReadOnly Property IsOnline As Boolean
Property Value
true
if the user is online; otherwise, false
.
Exceptions
This method is not available. This can occur if the application targets the .NET Framework 4 Client Profile. To prevent this exception, override the method, or change the application to target the full version of the .NET Framework.
Examples
The following code example displays all membership user names in a ListBox control and uses labels to show specific membership information for the selected user name, including the IsOnline property value for the membership user.
<%@ 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">
MembershipUserCollection users;
public void Page_Load()
{
users = Membership.GetAllUsers();
if (!IsPostBack)
{
// Bind users to ListBox.
UsersListBox.DataSource = users;
UsersListBox.DataBind();
}
// If a user is selected, show the properties for the selected user.
if (UsersListBox.SelectedItem != null)
{
MembershipUser u = users[UsersListBox.SelectedItem.Value];
EmailLabel.Text = u.Email;
IsOnlineLabel.Text = u.IsOnline.ToString();
LastLoginDateLabel.Text = u.LastLoginDate.ToString();
CreationDateLabel.Text = u.CreationDate.ToString();
LastActivityDateLabel.Text = u.LastActivityDate.ToString();
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: View User Information</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3>View User Information</h3>
<table border="0" cellspacing="4">
<tr>
<td valign="top">
<asp:ListBox id="UsersListBox" DataTextField="Username"
Rows="8" AutoPostBack="true" runat="server" />
</td>
<td valign="top">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td>Email:</td>
<td><asp:Label runat="server" id="EmailLabel" /></td>
</tr>
<tr>
<td>Is Online?:</td>
<td><asp:Label runat="server" id="IsOnlineLabel" /></td>
</tr>
<tr>
<td>LastLoginDate:</td>
<td><asp:Label runat="server" id="LastLoginDateLabel" /></td>
</tr>
<tr>
<td>CreationDate:</td>
<td><asp:Label runat="server" id="CreationDateLabel" /></td>
</tr>
<tr>
<td>LastActivityDate:</td>
<td><asp:Label runat="server" id="LastActivityDateLabel" /></td>
</tr>
</table>
</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">
Dim users As MembershipUserCollection
Public Sub Page_Load()
users = Membership.GetAllUsers()
If Not IsPostBack Then
' Bind users to ListBox.
UsersListBox.DataSource = users
UsersListBox.DataBind()
End If
' If a user is selected, show the properties for the selected user.
If Not UsersListBox.SelectedItem Is Nothing Then
Dim u As MembershipUser = users(UsersListBox.SelectedItem.Value)
EmailLabel.Text = u.Email
IsOnlineLabel.Text = u.IsOnline.ToString()
LastLoginDateLabel.Text = u.LastLoginDate.ToString()
CreationDateLabel.Text = u.CreationDate.ToString()
LastActivityDateLabel.Text = u.LastActivityDate.ToString()
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: View User Information</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3>View User Information</h3>
<table border="0" cellspacing="4">
<tr>
<td valign="top">
<asp:ListBox id="UsersListBox" DataTextField="Username"
Rows="8" AutoPostBack="true" runat="server" />
</td>
<td valign="top">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td>Email:</td>
<td><asp:Label runat="server" id="EmailLabel" /></td>
</tr>
<tr>
<td>Is Online?:</td>
<td><asp:Label runat="server" id="IsOnlineLabel" /></td>
</tr>
<tr>
<td>LastLoginDate:</td>
<td><asp:Label runat="server" id="LastLoginDateLabel" /></td>
</tr>
<tr>
<td>CreationDate:</td>
<td><asp:Label runat="server" id="CreationDateLabel" /></td>
</tr>
<tr>
<td>LastActivityDate:</td>
<td><asp:Label runat="server" id="LastActivityDateLabel" /></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
Remarks
A user is considered online if the current date and time minus the UserIsOnlineTimeWindow property value is earlier than the LastActivityDate for the user.
The LastActivityDate for a user is updated to the current date and time by the CreateUser, UpdateUser and ValidateUser methods, and can be updated by some of the overloads of the GetUser method.
Note
The LastActivityDate property value for a user is updated by the classes in the System.Web.Profile and the System.Web.UI.WebControls.WebParts namespaces whenever user data is retrieved from or set at the data source. If your application uses the same data source to store user information, and your ProfileProvider and PersonalizationProvider are configured with the same applicationName
as your MembershipProvider, then the LastActivityDate and IsOnline properties of the user will reflect this behavior.