SessionIDManager.CreateSessionID(HttpContext) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine eindeutige Sitzungs-ID für die Sitzung.
public:
virtual System::String ^ CreateSessionID(System::Web::HttpContext ^ context);
public virtual string CreateSessionID (System.Web.HttpContext context);
abstract member CreateSessionID : System.Web.HttpContext -> string
override this.CreateSessionID : System.Web.HttpContext -> string
Public Overridable Function CreateSessionID (context As HttpContext) As String
Parameter
- context
- HttpContext
Das aktuelle HttpContext-Objekt, das auf Serverobjekte verweist, die zum Verarbeiten von HTTP-Anforderungen verwendet werden (z. B. die Request-Eigenschaft und die Response-Eigenschaft).
Gibt zurück
Eine eindeutige Sitzungs-ID.
Implementiert
Beispiele
Das folgende Codebeispiel zeigt eine Klasse, die die SessionIDManager -Klasse erbt und die CreateSessionID Methoden und Validate mit Methoden überschreibt, die eine Guid als SessionIDbereitstellen und überprüfen.
using System;
using System.Configuration;
using System.Web.Configuration;
using System.Web;
using System.Web.SessionState;
namespace Samples.AspNet.Session
{
public class GuidSessionIDManager : SessionIDManager
{
public override string CreateSessionID(HttpContext context)
{
return Guid.NewGuid().ToString();
}
public override bool Validate(string id)
{
try
{
Guid testGuid = new Guid(id);
if (id == testGuid.ToString())
return true;
}
catch
{
}
return false;
}
}
}
Imports System.Configuration
Imports System.Web.Configuration
Imports System.Web
Imports System.Web.SessionState
Namespace Samples.AspNet.Session
Public Class GuidSessionIDManager
Inherits SessionIDManager
Public Overrides Function CreateSessionID(context As HttpContext) As String
Return Guid.NewGuid().ToString()
End Function
Public Overrides Function Validate(id As String) As Boolean
Try
Dim testGuid As Guid = New Guid(id)
If id = testGuid.ToString() Then _
Return True
Catch
End Try
Return False
End Function
End Class
End Namespace
Um die in diesem Beispiel gezeigte benutzerdefinierte Klasse zu verwenden, konfigurieren Sie das sessionIDManagerType-Attribut des elements sessionState-Element (ASP.NET Settings Schema), wie im folgenden Beispiel gezeigt.
<sessionState
Mode="InProc"
stateConnectionString="tcp=127.0.0.1:42424"
stateNetworkTimeout="10"
sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI"
sqlCommandTimeout="30"
customProvider=""
cookieless="false"
regenerateExpiredSessionId="false"
timeout="20"
sessionIDManagerType="Your.ID.Manager.Type,
CustomAssemblyNameInBinFolder"
/>
Hinweise
Diese Methode ist nicht für den Aufruf von Anwendungscode vorgesehen.
Die CreateSessionID -Methode gibt einen eindeutigen Sitzungsbezeichner zurück, bei dem es sich um eine zufällig generierte Zahl handelt, die in eine 24-stellige Zeichenfolge codiert ist, die aus Kleinbuchstaben von a bis z und Zahlen von 0 bis 5 besteht.
Hinweise für Vererber
Sie können einen benutzerdefinierten Sitzungsbezeichner angeben, der von ASP.NET Sitzungszustand verwendet werden soll, indem Sie eine Klasse erstellen, die die SessionIDManager Klasse erbt, und die CreateSessionID(HttpContext) Methoden und Validate(String) mit Ihren eigenen benutzerdefinierten Implementierungen überschreiben. Wenn Ihre benutzerdefinierte Sitzungs-ID nicht die Zeicheneinschränkungen erfüllt, die von der Standardimplementierung der Validate(String) -Methode erzwungen werden, sollten Sie die -Methode überschreiben, um die Validate(String) Validierung Ihres benutzerdefinierten Sitzungsbezeichners bereitzustellen. In diesem Fall die SessionIDManager Klasse wird sichergestellt, dass Ihre benutzerdefinierten Sitzungsbezeichner codiert, in der HTTP-Antwort-URL und URL-decodierter aus dem HTTP-Anforderung mit ist der Encode(String) und Decode(String) Methoden bzw.