0

同じブラウザーの別のタブで、新しいセッションで asp.net アプリケーションを開きたいと思いました。可能であれば解決策を教えてください。

4

1 に答える 1

0

最も簡単な解決策は、セッション ID に Cookie を使用せずにセッションを構成し、クライアント コードで新しいウィンドウを開くことです。このようなアプローチを実装するには、web.config ファイル内cookielessの要素の属性をに設定する必要があります。この場合、利用可能な副作用について警告されます (MSDN からの引用):sessionUseUri

AJAX 対応の ASP.NET Web サイトを構成する場合は、cookieless 属性に UseCookies の既定値のみを使用してください。URL でエンコードされた Cookie を使用する設定は、ASP.NET AJAX クライアント スクリプト ライブラリではサポートされていません。

その後、次のように、javascript を使用して新しいセッションで新しいタブを開くことができます。

<form id="form1" runat="server">
Session Id:
<%= Session.SessionID %>
<hr />
<input type="button" value="Open New Tab" onclick="openNewTab()" />
<script type="text/javascript">
    function openNewTab() {
        window.open(location.protocol + "//" + location.host + "/Default.aspx", "_blank");
    }
</script>
</form>

または、セッション識別子に Cookie を使用しないカスタム SessionIDManager を実装することもできます: SessionIDManager クラス

于 2012-07-10T06:07:12.927 に答える