C# コードビハインド ページを使用して Web サーバーを作成しています。私が望むのは、あるユーザーがページで何かを表示して送信し、データがサーバー側に永続的に保存され、別のユーザーがこのデータを表示できるようにすることです。
フラットファイルまたはデータベースに保存するように制限されていますか、または永続的なクロスセッション変数などのように、この目的で C# または .NET で使用できる何らかの機能がありますか? (通常の静的変数は、ユーザーごとに異なりますよね?)
C# コードビハインド ページを使用して Web サーバーを作成しています。私が望むのは、あるユーザーがページで何かを表示して送信し、データがサーバー側に永続的に保存され、別のユーザーがこのデータを表示できるようにすることです。
フラットファイルまたはデータベースに保存するように制限されていますか、または永続的なクロスセッション変数などのように、この目的で C# または .NET で使用できる何らかの機能がありますか? (通常の静的変数は、ユーザーごとに異なりますよね?)
静的変数はすべてのユーザーに共通ですが、アプリケーションを使用する必要があります。セッションに似ていますが、すべてのユーザーに共通です。アプリケーションのリセットに対する永続性が必要な場合は、データベースを使用してください。
これらのキャッシュ変数をテストできます
Cache["Key"] = yourValue;
Application["Key"] = yourValue;
セッションに関連付けられた別のキャッシュがありますが、それはグローバルではありません:
Session["Key"] = value;
ページに別のキャッシュがあります
ViewState["Key"] = value;
データがあまりない場合は、メモリに保存し、XmlSerializer
またはを使用してディスクに書き込みますBinaryFormatter
。
データをアプリケーション シングルトンとしてメモリに格納し、一連のページのどこからでもアクセスできるようにする必要があります。
フラットファイルまたはデータベースに保存するように制限されていますか、またはこの目的で C# または .NET で使用できる何らかの機能はありますか?
別の機能はあり得ません。フラット ファイル (つまり、ユーザーが作成するファイルまたは別のサービスが作成するファイル) とデータベース (SQL データベース、ドキュメント データベース、またはその他の形式) は、データを永続化するためのすべての可能性を論理的にカバーします。理論的には、フラット ファイル (つまり、ユーザーが管理するファイル) またはデータベース (一部のドライバーまたはサーバー プロセスが管理するファイル) に該当しない方法は他にないと思います。
あなたが尋ねるのは、「私はラジオを持っています。それはオンまたはオフにすることができます。それができる他の状態はありますか?」のようなものです。-悪いニュースです。いいえ、オンかオフのどちらかです。
.NET フレームワークのすべての機能は、最後に挙げた 2 つのいずれかになります。