ISessionIDManager.SaveSessionID(HttpContext, String, Boolean, Boolean) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Сохраняет созданный новый идентификатор в HTTP-ответе.
public:
void SaveSessionID(System::Web::HttpContext ^ context, System::String ^ id, [Runtime::InteropServices::Out] bool % redirected, [Runtime::InteropServices::Out] bool % cookieAdded);
public void SaveSessionID (System.Web.HttpContext context, string id, out bool redirected, out bool cookieAdded);
abstract member SaveSessionID : System.Web.HttpContext * string * bool * bool -> unit
Public Sub SaveSessionID (context As HttpContext, id As String, ByRef redirected As Boolean, ByRef cookieAdded As Boolean)
Параметры
- context
- HttpContext
Текущий объект HttpContext, содержащий ссылки на серверные объекты, используемые для обработки HTTP-запросов (например, свойства Request и Response).
- id
- String
Идентификатор сеанса.
- redirected
- Boolean
При возврате этим методом содержит логическое значение, равное true
, если ответ перенаправляется по текущему URL-адресу с добавленным в него идентификатором сеанса, или значение false
в противном случае.
- cookieAdded
- Boolean
При возврате этим методом содержит логическое значение, равное true
, если в HTTP-ответ добавлен файл Cookie, или значение false
в противном случае.
Примеры
В следующем примере кода показан частично реализованный SaveSessionID метод. Если пользовательский диспетчер идентификаторов сеансов поддерживает идентификаторы сеансов без файлов cookie, необходимо реализовать решение для отправки и получения идентификаторов сеансов в URL-адресе, например фильтр ISAPI.
public void SaveSessionID(HttpContext context, string id, out bool redirected, out bool cookieAdded)
{
redirected = false;
cookieAdded = false;
if (pConfig.Cookieless == HttpCookieMode.UseUri)
{
// Add the SessionID to the URI. Set the redirected variable as appropriate.
redirected = true;
return;
}
else
{
context.Response.Cookies.Add(new HttpCookie(pConfig.CookieName, id));
cookieAdded = true;
}
}
Public Sub SaveSessionID(context As HttpContext, _
id As String, _
ByRef redirected As Boolean, _
ByRef cookieAdded As Boolean) _
Implements ISessionIDManager.SaveSessionID
redirected = False
cookieAdded = False
If pConfig.Cookieless = HttpCookieMode.UseUri Then
' Add the SessionID to the URI. Set the redirected variable as appropriate.
redirected = True
Return
Else
context.Response.Cookies.Add(New HttpCookie(pConfig.CookieName, id))
cookieAdded = True
End If
End Sub
Комментарии
Метод SaveSessionID вызывается объектом во SessionStateModule время HttpApplication.AcquireRequestState события . Метод SaveSessionID сохраняет идентификатор сеанса в URL-адресе (при использовании состояния сеанса без файлов cookie) или в файле cookie сеанса без истечения срока действия.
Если возможно, что значение, возвращаемое из реализации CreateSessionID , содержит символы, недопустимые в HTTP-ответе или запросе, следует использовать UrlEncode метод для кодирования значения идентификатора сеанса в SaveSessionID реализации метода и UrlDecode метод для декодирования значения идентификатора сеанса в GetSessionID реализации метода.