ISessionIDManager.GetSessionID(HttpContext) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает идентификатор сеанса из контекста текущего HTTP-запроса.
public:
System::String ^ GetSessionID(System::Web::HttpContext ^ context);
public string GetSessionID (System.Web.HttpContext context);
abstract member GetSessionID : System.Web.HttpContext -> string
Public Function GetSessionID (context As HttpContext) As String
Параметры
- context
- HttpContext
Текущий объект HttpContext, содержащий ссылки на серверные объекты, используемые для обработки HTTP-запросов (например, свойства Request и Response).
Возвращаемое значение
Текущий идентификатор сеанса, отправленный в HTTP-запросе.
Примеры
В следующем примере кода показан частично реализованный GetSessionID метод. Если пользовательский диспетчер идентификаторов сеансов поддерживает идентификаторы сеансов без файлов cookie, необходимо реализовать решение для отправки и получения идентификаторов сеансов в URL-адресе, например фильтра ISAPI.
public string GetSessionID(HttpContext context)
{
string id = null;
if (pConfig.Cookieless == HttpCookieMode.UseUri)
{
// Retrieve the SessionID from the URI.
}
else
{
id = context.Request.Cookies[pConfig.CookieName].Value;
}
// Verify that the retrieved SessionID is valid. If not, return null.
if (!Validate(id))
id = null;
return id;
}
Public Function GetSessionID(context As HttpContext) As String _
Implements ISessionIDManager.GetSessionID
Dim id As String = Nothing
If pConfig.Cookieless = HttpCookieMode.UseUri Then
' Retrieve the SessionID from the URI.
Else
id = context.Request.Cookies(pConfig.CookieName).Value
End If
' Verify that the retrieved SessionID is valid. If not, return Nothing.
If Not Validate(id) Then _
id = Nothing
Return id
End Function
Комментарии
Метод GetSessionID вызывается SessionStateModule во время HttpApplication.AcquireRequestState событий и HttpApplication.EndRequest . Если вы не можете получить допустимый идентификатор сеанса из HTTP-запроса, верните .null
SessionStateModule Если объект получает null
от GetSessionID метода , он вызывает CreateSessionID метод , чтобы получить новый идентификатор сеанса для нового сеанса.
Если возможно, что значение, возвращаемое реализацией CreateSessionID , содержит символы, недопустимые в HTTP-ответе или запросе, следует использовать UrlEncode метод для кодирования значения идентификатора сеанса в SaveSessionID реализации метода, а UrlDecode метод — для декодирования значения идентификатора сеанса в GetSessionID реализации метода.