Поделиться через


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 реализации метода.

Применяется к

См. также раздел