この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 19573|答える: 0

[ASP.NET] asp.net HttpContextの説明的意味

[リンクをコピー]
掲載地 2018/03/13 21:28:21 | | |
.ashxで「HttpContext」という言葉は何を意味しますか? 話をしましょう

HttpContextクラス:個々のHTTPリクエストに関するすべてのHTTP固有の情報をカプセル化します。

処理中の要求実行チェーンの各段階には、各オブジェクト間を行き来するオブジェクトがあり、リクエストのコンテキスト情報が保存されます。これがHttpContextオブジェクトです。 HttpContextは、処理される単一のリクエスト ASP.NET すべての情報をカプセル化します。 リクエスト処理機構が確立されると、HttpContextクラスはHttpRuntimeオブジェクトでインスタンス化され、リクエストライフタイムのさまざまな段階を経ます


HttpContextの導入:単一のユーザー、単一のリクエストに対してデータを管理し、そのリクエスト期間中のみデータを管理します。 異なるHttpModulesやHttpHandler間で渡すべき値を維持するために提供されています。 また、完全なリクエストに必要な適切な情報を維持するためにも利用できます。

Currentプロパティは、現在要求されているHttpContexオブジェクトを返す便利な静的メンバーです。 アイテムは、リクエスト処理に関わるモジュールとハンドラー間でデータを共有するハッシュテーブルです。 各カスタムモジュールやハンドラーは、要求されたHttpContextオブジェクトに独自の情報を追加でき、アイテムに保存された情報は最終的にページで利用されますが、この情報はリクエストの実行時にのみアクセス可能です
HttpContext
定義:個々のHTTPリクエストに関するすべてのHTTP固有の情報をカプセル化します。

実際、Httpリクエストと返されるすべての情報はその中に含まれています。

HttpContextはSystem.Runtime.Remoting.Messaging.CallContext.HostContextから来ています。 このHostContextの定義は、現在のスレッドに関連付けられたホストコンテキストを取得したり設定したりするためのものです(したがって、HttpContextは現在のリクエストのスレッドでのみ使用可能です)。 )



HttpContextは実際にはCallContext.HostContextプロパティに保存されていますもしまだHostContextに興味があるなら、Reflector.exeでご自身で確認できます。これ以上コードを投稿したくありません。なぜなら、一部のタイプやメソッドは公開されていないからです。




HttpContext.Current.Itemsは、すべてのユーザーリクエストがHTTPランタイムパイプラインであるHTTPモジュール、HTTPHandlerを経由するため、HttpModuleとHTTPHandler間でデータ共有に使用できます。 IHttpMoudleメソッドを実装して、HttpMoudle経由でユーザーリクエストに情報を渡す場合、 HttpContext.Current.Itemsを使って異なるリクエストページやHttpモジュールでデータを転送できますが、リクエスト終了後にデータが投稿されると、このコレクション内のデータは自動的に失われてしまいます。

例えば、毎回リクエストを出す際に、同じDbContextコンテキストオブジェクトをefで使いたいとします。コードは以下の通りです:








先の:UserAgentに基づいて訪問者が携帯電話かコンピュータかを判別します
次に:Asp.Net IHttpHandlerが導入しました
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com