問題タブ [asp.net-session]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - ASP.NET アプリケーションでのセッションの混合
アプリケーションのセッション間で情報が混在するという問題に直面しています。この問題は、ユーザーがページをロードしてセッション (Session ["Whatever"]) を生成するときに発生します。これまでのところ問題ありません。たとえば、同じユーザーが別のブラウザタブで同じ画面を開くと、問題が発生し始めます。彼は、開いた最初の画面で使用される同じセッションの他の情報を運びます。(これは小さな例です)
これを行うためのより良い方法があるかどうか疑問に思います。ユーザーが開いたタブごとに一意の識別子を作成する方法はありますか? または、セッションの名前を連結するための一意の ID? そのため、セッションはオープンフラップのみになります。
感謝しました。
asp.net - セッション変数の ASP.NET 三項演算子
変数に特定の値が含まれているTextBox
場合、三項演算子を使用してcssクラスをに追加しようとしています:Session
MyVariable
値があることは確認できますMyValue
が、アプリケーションを実行するとクラスが適用されません。<%# %>
他にもいくつかの同様の質問を見つけましたが、それらはすべて、セッション変数の評価ではなく、バインド式 (を使用) に三項演算子を使用しています。明らかな何かが欠けているように感じます。どんな助けでも大歓迎です。
asp.net - webforms セッションの値は MVC ベアラー トークンに保存する必要がありますか?
以前の作業 (ASP.NET Web フォーム) では、HttpContext.Current.Session
オブジェクトを使用して、現在のユーザー セッションのセキュリティ関連のユーザー データを保持しました。
WebAPI 2 についてかなりのことを学んだので、MVC を学び始めています。私は常にそれを読んでいます、Session
および/またはHttpContext.Current
MVCでは避けるべきです...
...しかし、単純な代替案についてはあまり明確ではありません。クッキーを使う人もいればTempData
、クッキーを使う人もいますが、どちらにも欠点があります。
私のアプリケーションはデータベースが重いので、データベースにアクセスしてリクエストごとにこれらの値を再読み取りすることを避けたいと考えています。WebAPI2 には、Cookie としてシリアル化されるベアラー トークンがあります。ID トークンは、このデータを保持し、ユーザーによる改ざんを回避するのに十分安全ですか (SSL 経由で使用する場合)?
c# - プロセス外の SessionState メモリ管理
アウト プロセスセッション状態サービス/ASP.Net セッション状態を使用しています。過去に悪用され、セッション状態にあまりにも頻繁に保存されたため、これに問題があったことはわかっています。そのため、よりスケーラブルなシステムに移行する過程にありました。
それまでの間、セッション状態サービスがそのメモリを管理する方法と、どのような制限があるかについて理解を深めようとしています。しかし、マイクロソフトのドキュメントはどれも詳細に入っていないようです。
具体的に知りたいのは:
- "標準"アウト プロセス セッション状態サービス (IIS と共に Windows 管理コンソールにインストールされます) が保存できる量の制限は何ですか? (x64)
- ユーザーごとの制限はありますか?
標準サービスとは、これを意味します:
c# - Internet Explorer を使用しているときに ASP.NET がセッションの途中で新しいセッションを開始するのはなぜですか?
別のセッションの途中で新しいセッションを開始するように見える ASP.NET アプリケーションがあります。
フォーム認証の使用。
認証タイムアウト = 120。 sessionState タイムアウト = 130。
sessionState モード = InProc.
cookieless = false (これは UseCookies と同じはずです)。
十数ページにアクセスした後、特定のページにアクセスした場合にのみ発生します。ただし、失敗したページにアクセスする前に他のページにアクセスすると、エラーは発生しません。
アプリケーション プールのリサイクルによるものではありません。同じ w3wp プロセスを何時間も実行し続けています。ヘルス モニタリングのログには何も表示されません。
F12 開発者ツールでネットワーク機能を使用すると、すべての Cookie 値が 1 つのセッションから次のセッションに移行しても存続しますが、障害が発生した時点で Cookie ビューには「Received: ASP.NET_SessionId」と表示されますが、同じ要求の他のすべての値が表示されます。 「送信済み」として。
すべてが同じドメイン (この場合は localhost) 内で発生します。
オブジェクトは、ユーザーがログインした直後に Session オブジェクトに格納されるため、未使用の Session オブジェクトが原因でリクエストごとに ASP.NET_SessionId が変更されるケースの 1 つではありません。
Windows 7 x64 開発システム上の IIS 7.5。すべての Windows アップデートで完全に最新の状態に。
Global.asax のすべてのグローバル イベントにデバッグ ステートメントを追加しましたが、要求の途中でセッション ID が失われる原因となっているコードはありません。その時点までに数十のリクエストが正常に処理されたにもかかわらず、特定の関数が呼び出されたときに新しい Session_Start イベントを取得するだけです。
User-Agent 文字列の例 (Chrome): "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/38.0.2125.104 Safari/537.36"
User-Agent 文字列の例 (Internet Explorer): "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
この問題は、Internet Explorer 9、10、および 11 を使用して一貫して再現できます。以前のバージョンの Internet Explorer は試していません。
最新バージョンの Firefox または Chrome を使用して問題を再現することはできません。
Internet Explorer を実行しているが他の種類のブラウザーを実行していない場合に、ASP.NET が新しいセッションを開始し、新しい ASP.NET_SessionId 値を割り当てる必要があると考える理由を理解するために確認できるリストはありますか?
申し訳ありませんが、これ以上具体的にお伝えすることはできませんが、少なくとも上記の情報によって、通常の容疑者の一部が会話から排除されることを願っています.
asp.net - 複数の SQL Server データベースに ASP.NET セッションを保存する
ASP.NET セッション状態を格納するために SQLServer を使用しています。また、ロード バランサーを介して接続されている複数の Web サーバーもあります。各サーバーは、そのセッションを SQLSerer DB に保存します。ここでの問題は、DB が単一障害点であることです。
私の質問は、複数の SQLServer サーバーにセッションを保存し、それぞれから最新のデータを取得するにはどうすればよいですか?