次の疑問があります。ページ「MyPage」があり、ページ クラスでいくつかの辞書オブジェクトを宣言しました。
私の疑問は
- 辞書をプライベートな非静的オブジェクトとして宣言すると、そのページ クラスの関数全体で使用できなくなります (オブジェクトは null になります)。
- しかし、辞書を静的であると宣言すると、関数全体でオブジェクトを横断できます。しかし、そのオブジェクトは、現在ページを開いたすべてのユーザーで同じでしょうか (各ユーザーはページのインスタンスを持ち、ページ クラスのインスタンスを持ち、クラスの静的変数はすべてのインスタンスで不変であると推測します)。クラスの)
私の理解は正しいですか?ページ クラス内のすべての関数で使用可能であり、ページの各インスタンス (ユーザー) に対して一意であるようにオブジェクトを宣言する方法。
アップデート1
Okie、ページ クラスのディクショナリ オブジェクトの初期化が別のスレッド (WCF Duplex コールバック) で行われていることがわかりました。しかし、メイン ページ スレッドでは、ディクショナリ オブジェクトはまだ null (初期化されていない) のままです。何か案は?
Update2
マーシャリング - ひょっとして役に立つ?
Update3
ジョンへの返信で-
お返事をありがとうございます。私が今直面している問題は、クライアント側の WCF コールバック クラス (別のスレッドで呼び出される) から asp.net ページにデータを渡すことです。では、どうすればそれを行うことができますか? ビュー ステートは、リクエスト間でデータを保持するのに役立つ場合があります。しかし、変更を通知するサーバーによってコールバックが呼び出された場合、どのように変更 (データ) を UI スレッド (asp.net ページ) に渡す必要がありますか?