サーバーファームでの実行に一般的に関連するいくつかの例外を除いて、ほとんどすべてのオブジェクトをセッションストレージに格納できます。ただし、ここではそれらのケースを無視します。
数MBのデータのみを処理している場合、それをSessionオブジェクト(または@Rickが示唆するようにキャッシュ)に格納することは必ずしも大きな問題ではありません。データがWebサービスから返され、独自の内部データ構造に解析されたら、データ構造のルートオブジェクトをセッションに配置するだけです。私はこの方法をかなり頻繁に使用して、実行に時間がかかるデータベースクエリの結果を保存します。特に、クエリ条件が頻繁に変更される可能性が低い場合はそうです。
大規模なデータセットの場合は、おそらくデータベースを使用して情報を保存する必要があります。返すデータの構造に一致するテーブルを作成し、何らかの方法でデータにタグを付けて、データの古さやフェッチ時に使用された基準を示します。必要に応じて更新し、各クライアント要求のレコードをデータベースに照会します。
SessionIDを使用してデータを保存するための一時ファイルを作成してそれらを識別するなど、他にも多くのオプションがありますが、最初にデータベースオプションを調査することをお勧めします。