2011-03-23 13 views
2

私はプログラミング、特にWebベースプログラミングでは新しいです。私は国家管理技術に関するベストプラクティスを学びたいと思っています。私たちはセッションを作成する必要がある場合にどのようにNULLセッションを確認するためにセッションを使用するとき、私はasp.netの状態管理のベストプラクティスを学ぶ方法

?,

を意味ですか? 、

いつクッキーを使用しますか?

隠しフィールドを使用するタイミングは?

どういう違いがありますか?

特定の時間にどのテクニックを使用するのですか?

状態管理が失敗したためにアプリケーションがクラッシュする可能性がありますか。 Webアプリケーションを開発するときに状態管理について留意する必要があるものは何ですか?

多くの質問があります。おそらく皆さんは知っています。私の混乱を分類するために私を助けてください。

ありがとうございます!

+1

質問を別のものに分けてください。さまざまなシナリオに応じて、回答が異なるので、ここで論理的な説明をするのは難しいです。 –

答えて

2
+1

ありがとう、これらのリンクは私にとって有益でなければなりません... – Liladhar

1

あなたはいくつかの読書をする必要がありますように聞こえます。

Pro ASP.NET - この本には状態管理に関する章がありますが、本書の残りの部分はあなたが初心者であるために役立つと私は賭けています。

また、MSDNには、状態管理といつ何を使用するかについてのいくつかの良い情報があります。

2

http://www.thedevheaven.com/2012/05/state-management.html

国家管理を使用すると、状態を維持するプロセスで、同一または異なるページに対する複数のリクエストに関するページ情報状態管理の

タイプ

2種類の状態管理があります。

  1. クライアント - サイドの状態管理 は、このWebページに情報を埋め込むことにより、クライアントのコンピュータ上の情報を保存し、均一なリソースロケータ(url)、またはクッキー。クライアント側に状態情報を格納するために利用可能な技術は、以下にリストアップされている。

a。ビューステート - Asp.Netはビューステートを使用してコントロール内の値を追跡します。ビューステートにカスタム値を追加できます。これはAsp.netページフレームワークによって、ページのレンダリングの直前に各ページおよび各コントロールの値を自動的に保存するために使用されます。ページがポストされると、ページ処理によって実行される最初のタスクの1つはビューの状態を復元することです。

b。コントロールステート - ビューステートが正常に動作するようにカスタムコントロールを作成する場合は、コントロールステートを使用して、ビューステートを無効にして他の開発者がコントロールを解除しないようにする必要があります。

c。非表示フィールド - 表示状態と同様に、非表示フィールドはデータをHTMLフォームに格納し、ユーザーのブラウザには表示しません。データは、フォームが処理されたときにのみ使用可能です。

d。クッキー - クッキーは、ユーザーのブラウザーに値を保管し、ブラウザーは、すべてのページ要求を同じサーバーに送信します。 Cookieは、Webサイト上の複数のWebページで使用できる状態データを格納する最善の方法です。

e。クエリ文字列 - クエリ文字列は、ユーザーが見ることができるURLの値を格納します。ユーザーが電子メールまたはインスタントメッセージの状態データをURLで取得できるようにする場合は、クエリ文字列を使用します。

  1. サーバ - サイドの状態管理

。アプリケーション状態 - アプリケーション状態情報は、どのユーザーがページを要求しているかにかかわらず、すべてのページで使用できます。

b。セッション状態 - セッション状態情報は、1回の訪問中にユーザーが開いたすべてのページで使用できます。

アプリケーションの再起動時に、アプリケーションの状態とセッションの状態情報が失われます。アプリケーションの再起動の間にユーザーデータを保持するには、プロファイルプロパティを使用してユーザーデータを保存します。クライアントの

利点

利点 - サイドの状態管理:

  1. スケーラビリティ:サーバー側の状態管理では、Webサーバに接続する各クライアントは、Webサーバー上のメモリを消費します。 Webサイトに数百人または数千人の同時ユーザーがいる場合、状態管理情報を保存することによって消費されるメモリは制限要因になります。この負担をクライアントに押し付けることで、潜在的なボトルネックがなくなります。

  2. 複数のWebサーバーをサポート:クライアント側の状態管理を使用すると、Webサーバーが要求を処理するために必要なすべての情報をクライアントが提供するため、アプリケーションに変更を加えずに複数のWebサーバーに着信要求を分散できます。サーバー側の状態管理では、クライアントがセッションの途中でサーバーを切り替えると、新しいサーバーは必ずしもクライアントの状態情報にアクセスする必要はありません。サーバー側の状態管理で複数のサーバーを使用できますが、インテリジェントなロードバランシング(クライアントからの要求を常に同じサーバーに転送する)または集中状態管理(状態は中央データベースに格納され、すべてのWebサーバーアクセス)。サーバーの

利点 - サイドの状態管理:

  1. セキュリティの向上:クライアント側の状態管理情報をキャプチャ(輸送中またはそれがクライアントに保存されている間のいずれか)または悪意を持って変更することができます。したがって、クライアント側の状態管理を使用して、パスワード、認可レベル、認証ステータスなどの機密情報を保管することは絶対に避けてください。

  2. 帯域幅を減らす:大量の状態管理情報を保存する場合、その情報をクライアントに送信すると、帯域幅の使用率とページの読み込み時間が増加し、コストが増加し、スケーラビリティが低下する可能性があります。帯域幅の使用量が増えると、ほとんどの場合、接続が非常に遅いため、モバイルクライアントに影響します。代わりに、大量の状態管理データ(たとえば、1 KB以上)をサーバーに保存する必要があります。

関連する問題