2017-06-08 4 views
0

「最初にユーザーがアプリケーションのディレクトリにあるページを要求すると、ASP.NETによってアプリケーションが初期化されます。そのプロセス中にASP.NETによってアプリケーションオブジェクトが作成され、アプリケーション状態オブジェクトとキャッシュオブジェクトASP.NETのアプリケーションオブジェクト

私の質問は以下のとおりです。

  1. のは、私は多くのユーザーが状態オブジェクトがアプリケーションによって作成されたどのように多くのアプリケーション、アプリケーションからページを要求があるとしましょうちょうど1か?新しいユーザーごとに新しいアプリケーション状態オブジェクトが作成されますか、またはすべてのユーザーが同じオブジェクトを共有しますか?

  2. アプリケーションオブジェクトが1つしか作成されていない場合、どのセッションがどのユーザーに属しているかをアプリケーションがどのように知ることができますか?たとえば、マイケルはページを要求し、Session ["name '] =" Michael "を設定し、ページを要求してSession [" name'] = "Sarah"を設定するので、アプリケーションはSession [ 「名 ']セッションのために

+0

各Webアプリケーションにはグローバルアプリケーションオブジェクトが1つしかありませんが、アプリケーションを訪問するリーチユーザーにはセッションオブジェクトがあります。 – captivatedbyUBB

+0

@slowjamsあなたがカバーしたい2つの答えに欠けている詳細はありますか? – mjwills

答えて

1

アプリケーションごとに1つのオブジェクトがあります。これは共有されていますすべてのユーザーがSessionオブジェクトはセッション間(したがってユーザ間)で共有されません。

Session状態は、Applicationコンテキストの一部ではありません。 ASP.NETは、どのセッションが誰に属しているかを知っています(たとえばセッションクッキーに基づいて)。

関連する問題