SessionStateSection.Cookieless プロパティ

定義

クライアント セッションを識別するのにクッキーを使用するかどうかを示す値を取得または設定します。

C#
[System.Configuration.ConfigurationProperty("cookieless")]
public System.Web.HttpCookieMode Cookieless { get; set; }

プロパティ値

すべての要求が Cookie なしとして扱われる場合は true。要求が Cookie なしとして扱われない場合は false。または、HttpCookieMode 値の 1 つ。 ASP.NET Version 2.0 では、既定値は AutoDetect です。 これ以前のバージョンでは、既定値は false でした。

属性

次のコード例は、 プロパティを取得する方法を Cookieless 示しています。 オブジェクトにアクセスする方法については、クラス トピックの SessionStateSection コード例を SessionStateSection 参照してください。

C#
// Display the current Cookieless property value.
Console.WriteLine("Cookieless: {0}",
  sessionStateSection.Cookieless);

注釈

セッション状態でクライアントをサーバー セッションに関連付ける一意の ID を格納する方法は 2 つあります。クライアントに HTTP Cookie を格納するか、URL でセッション ID をエンコードします。 セッション ID を Cookie に格納する方が安全ですが、Cookie をサポートするにはクライアント ブラウザーが必要です。

さまざまなモバイル デバイスなど、Cookie をサポートしていないクライアントを許可するアプリケーションの場合、セッション ID が URL に格納される場合があります。 URL オプションにはいくつかの欠点があります。 サイト上のリンクが相対的であり、新しいクエリ文字列値を使用してセッションの開始時にページがリダイレクトされ、クエリ文字列内でセッション ID が公開され、セキュリティ攻撃で使用するために取得できる必要があります。

Cookie のサポートがないクライアントをサポートする必要がある場合にのみ、Cookie レス モードを使用することをお勧めします。

セッション状態では、 と AutoDetectの 2 つの追加オプションもサポートされていますUseDeviceProfile。 前者を使用すると、セッション状態モジュールは、ブラウザーの機能に基づいて、クライアントごとに使用されるモード (Cookie または Cookie レス) を決定できます。 オプションは AutoDetect 、ブラウザーとのハンドシェイクを実行して Cookie が保存される可能性があるかどうかを確認するため、決定を行うために追加の要求が必要です。 Cookie レス クライアントをサポートする必要がある場合は、 を使用 UseDeviceProfile して、必要なクライアントに対してのみ Cookie レス URL を生成することを強くお勧めします。

注意

UP を使用します。ブラウザー 4.1 または UP。ブラウザー 3.2 では、RedirectWeb.config の セクションの HttpBrowserCapabilitiesSupportsRedirectWithCookie プロパティが 明示的に に設定trueされていない限りCookieless、オブジェクトの プロパティSessionStateの値が falseであるかのように常に動作します。

ASP.NET バージョン 1.1 では、この設定のオプションは または falseでしたがtrue、ASP.NET 2.0 では、選択肢が展開されAutoDetect、既定の設定になりました。 Web アプリケーションの プロパティが Cookieless ブール値に設定されている場合は、 Redirect これらのブラウザーで期待どおりに動作する必要があります。

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

こちらもご覧ください