問題タブ [stateful]
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.
service - Web サービスのステートフル
httpバインディングを使用してIISでホストされている同じインターフェイスを持つ2つのwcfサービスがあります。どちらも次の 3 つの方法しかありません。
OpenFile(userid)
userid.txt を作成または開きます。Write(userid, X)
Xをファイルに書き込みますClose(userid)
ファイルを閉じます
InstanceContextMode =InstanceContextMode.PerSession
はサービス B に使用されます。
サービス A:
ステートレス (サービスは技術的にユーザー ID を記憶する必要はなく、クライアントによって追跡されます) ですか、それともステートフル (サービス操作はステート マシンのようなものです。クライアントは特定の順序でメソッドを呼び出す必要があります) ですか?
HTTPS バインディングが使用されている場合、それはステートフルですか?
サービス B:
- ステートレスですか、ステートフルですか (IIS セッションが使用されるため)。
より一般的な質問は、Web サービスのステートフル性が、それがどのように設計および実装されているか、またはどのようにホストされているかに依存するかということだと思います。Web サービスがステートレスかステートフルかを判断するための「チェックリスト」のようなものはありますか?
ありがとう
terminology - ステートレス vs ステートフル
プログラミングにおけるステートレスおよびステートフル設計に関する具体的な情報を含む記事に興味があります。詳しく知りたいので興味はありますが、良い記事がなかなか見つかりません。私はウェブ上で主題について漠然と議論している記事を何十も読んだことがあります。または、ウェブサーバーとセッションについて話している記事を読んだことがあります. . 例: BL クラスは設計上ステートレスであり、エンティティ クラス (または少なくとも私はそう呼んでいます - Person(id, name, ..) のように) はステートフルである、などと聞いたことがあります。
理解することができれば、より良いコードを書くことができると信じているので、知ることは重要だと思います (たとえば、粒度を念頭に置いて)。
とにかく、本当に短いですが、ステートフルとステートレスについて私が知っていることは次のとおりです。
ステートフル (WinForms など): 後で使用するためにデータを保存しますが、CPU またはメモリの制限によって制限されるため、アプリケーションのスケーラビリティが制限されます。
ステートレス (ASP.NET と同様 - ASP は ViewStates でステートフルになろうとしますが): アクションが完了すると、データが転送され、インスタンスがスレッド プールに戻されます (アモルファス)。
ご覧のとおり、かなり曖昧で限られた情報です (そして、サーバーとのやり取りにかなり焦点を当てています)。そのため、もう少し有益な情報を提供していただけると本当にありがたいです :)
c# - WCF サービスは既定でステートレスですか?
ユーザー名とパスワードを指定することで、クライアント/コンシューマー アプリケーションがログインできるようにする単純な WCF サービスを用意しました。ユーザー名とパスワードの両方が正しい場合、WCF サービスはクライアントに GUID を提供します。GUID とユーザー名は、キーと値のペアとして WCF サービス内に格納されます。これ以降、クライアントは識別手段として、すべての要求で GUID を送信します。
キーと値のペアをディクショナリ/ハッシュマップに格納しているため、このアプローチは WCF サービスがステートフルである場合にのみ機能します。質問は、デフォルトでステートフルですか、それともそのように動作させるために何かしなければならないことがありますか?
asp.net - IOC コンテナと Web アプリケーション
ビジネス マネージャーを作成し、IIS がリサイクルするまでメモリに保持する IOC コンテナー (Windsor) を持つこの .NET Web アプリケーションの作業を開始しました。基本的に、これらのビジネス マネージャーには独自の状態があり、その内容が Application_Start で起動されるバックグラウンド スレッドから変更されるデータがあります。これは、私が Web アプリケーションが動作することを期待していた方法ではなく (ステートレスで、リクエストごとにスレッドごとであるはずです)、この実装が持続可能/スケーラブルかどうかはよくわかりません。誰かがこの方法で物事を試したことがありますか?もしそうなら、これに見られる結果/長所は何ですか?
wcf - これはステートフル Web サービス/wcf サービスですか?
サービス層には、ユーザー名とパスワードを受け入れ、アカウントが有効な場合に一意のセッション ID (GUID) を返すログイン メソッドがあります。
後続のリクエストでは、ユーザー名とパスワードを渡す代わりに同じセッション ID が渡されます。各リクエストの認証以外に状態情報は必要ないため、これはステートフルまたはステートレスです。
extjs - Extjs 4 FiltersFeature とステートフル グリッド
フィルター付きの列がいくつかあるグリッドがあります。列の定義:
ここにフィルター機能の定義があります
問題は次のとおりです:グリッドの状態を保存しようとすると、フィルターが機能しません:このコードをグリッドに追加すると:
Cookie に状態がないため、ページを更新するとすべて正常に動作します。しかし、ページを 2 回目に更新すると、Cookie とフィルターからの状態の読み込みが機能しません。stateful: true を削除してページを更新すると、フィルターは正常に機能します。助言がありますか?また、extjs サイトのすべての例はフィルターまたはステートフル グリッドのみであることに気付きましたが、両方の例はありません。
更新: 最も便利な方法は、必要な要素の状態を保存して復元するための独自の方法を作成することでした。
python - 状態を保存、変更、および復元するコンテキスト依存の Python コンテキスト マネージャーを作成することは可能ですか?
現在、グローバル変数を 2 つの値の間で切り替える 1 組の python 関数があります。それらをコンテキストマネージャーに変えて、ブロックとして使用できるようにしたいと思いますwith
。ブロック内で変数を設定しますが、後で復元します。望ましい動作は次のとおりです。
そのようなキメラは可能ですか?
更新:わかりやすくするために、コンテキスト マネージャーのみの実装を次に示します。
これらを w/oa キーワードで呼び出すと、ジェネレーターが返されます。プレーン バニラ関数呼び出しとチョコレート コンテキスト マネージャーの両方でモード反転動作を取得する方法はありますか?
jakarta-ee - 異なるクライアントからのEJB3ステートフル同時呼び出し
リモートステートフルejbを呼び出すリッチクライアントスイングアプリケーションがあります。JBoss6.0を使用しています。
クライアントを2つの異なるマシン、つまり異なるIPアドレス、jvmなどにデプロイしました。
ステートフルには次のコードがあります。
そして、クライアントには次のコードがあります。
次に、最初のクライアントを実行すると、ejbはprintlnコマンドを実行し、ループの実行を開始します(予想どおり)。ただし、別のマシンで2番目のクライアントを実行すると、最初のメソッドの呼び出しが終了するまでejbは何も出力しません。つまり、ステートフルBeanは、異なるクライアントからの同時呼び出しを処理できなかったようです。
printlnコマンドを見ると、次のことがわかります。
サーバーが最初の呼び出しの実行を終了すると、2番目の呼び出しは出力を出力します。
ステートフルには2つの異なるインスタンスがあり(予想どおり、クライアントごとに1つのインスタンス)、それらは異なるスレッドで実行されていることがわかります。
ステートフルではなくステートレスを使用すると、機能します。ただし、私のアプリケーションでは、クライアントからのデータを保持する必要があり、ステートフルの方が適しているようです。
gridview - extjsステートフルグリッド削除ソート
ステートフル グリッドに問題があります。並べ替えの状態は保存したくないが、他のすべてのオプション (列の位置、列の幅、グループ化など) は保存したい
今のところ、stateEvents オプションを使用してこれを試しましたが、イベントが発生したときにグリッドの状態全体を保存します。
ソート状態を保存から除外するオプションはありますか??
グリッド構成の一部:
ejb - 複数のリモート ステートフル セッション Bean に対するクライアントとして EJB 3.1 シングルトン Bean を使用する
私は EJB 3.1 を初めて使用し、サーバー側の問題を解決しようとしています。おそらく誰かが何らかのガイダンスを提供できるでしょう。
アプリケーション内の複数のユーザーの共有状態を表すステート マシンがあります。このステート マシンをステートフル セッション Bean としてモデル化しようとしています。このステート マシンによって表されるユーザーは複数存在するため、StateMachine の実際のクライアントであるシングルトン セッション Bean を導入すると、すべてのユーザーがシングルトン Bean の「クライアント」になります。私の問題は、アプリケーションの存続期間中に複数の StateMachines をライフサイクルしたいときに発生します。
Singleton Bean (「マネージャー」) でクライアント要求を処理し、適切な StateMachine に配布したいのですが、その Stateful Bean の特定のインスタンスにアクセスするにはどうすればよいですか? さらに複雑にするために、これらの StateMachine Bean にリモートでアクセスしようとしています (ローカルの場合は、これらのオブジェクトのインスタンスを Manager のメンバーとして作成するだけです)。
とにかく、これが明確であることを願っています。EJB 設計の基本的な点が欠けているように感じます。もしそうなら、皆さんは私に教えてくれます。