ホームページ バックエンド開発 C#.Net チュートリアル .NET MyMVCフレームワークでアクションを実行するプロセスの詳細な説明

.NET MyMVCフレームワークでアクションを実行するプロセスの詳細な説明

May 17, 2017 am 11:29 AM

AjaxHandlerFactory の GetHandler メソッドで、最終的に ActionHandler が作成されます。これは HttpHandler であり、パイプラインの 15 番目のステップで呼び出されます (ブログ [Asp.net で独自のサービス フレームワークを作成する] のシーケンスを引用) 。

注: AjaxHandlerFactory の GetHandler メソッドはステップ 10 で呼び出されます。ステップ 12 ではセッションを準備しています (非インプロセス モード)。そのため、セッションの使用はステップ 12 の前に決定する必要があります。

すべてのアクション コードは ActionHandler で実行されます:

internal class ActionHandler : IHttpHandler{    internal InvokeInfo InvokeInfo;    public void ProcessRequest(HttpContext context)
    {        // 调用核心的工具类,执行Action        ActionExecutor.ExecuteAction(context, this.InvokeInfo);
    }
ログイン後にコピー

ExecuteAction の実装プロセスは次のとおりです:

internal static void ExecuteAction(HttpContext context, InvokeInfo vkInfo)
{    if( context == null )        throw new ArgumentNullException("context");    if( vkInfo == null )        throw new ArgumentNullException("vkInfo");    // 调用方法    object result = ExecuteActionInternal(context, vkInfo);    // 设置OutputCache    OutputCacheAttribute outputCache = vkInfo.GetOutputCacheSetting();    if( outputCache != null )
        outputCache.SetResponseCache(context);    // 处理方法的返回结果    IActionResult executeResult = result as IActionResult;    if( executeResult != null ) {
        executeResult.Ouput(context);
    }    else {        if( result != null ) {            // 普通类型结果            context.Response.ContentType = "text/plain";
            context.Response.Write(result.ToString());
        }
    }
}internal static object ExecuteActionInternal(HttpContext context, InvokeInfo info)
{    // 准备要传给调用方法的参数    object[] parameters = GetActionCallParameters(context, info.Action);    // 调用方法    if( info.Action.HasReturn )        return info.Action.MethodInfo.Invoke(info.Instance, parameters);    else {
        info.Action.MethodInfo.Invoke(info.Instance, parameters);        return null;
    }
}
ログイン後にコピー

SetResponseCache() を呼び出すタイミングについては前に述べましたよね? このタイミングは、まさにアクションの実行後です。 。
OutputCache を設定したら、戻り値を処理します。

前のコードには、別の重要な呼び出しがあります:

// 准备要传给调用方法的参数object[] parameters = GetActionCallParameters(context, info.Action);
ログイン後にコピー

[関連推奨事項]

1。特別な推奨事項: 「php Programmer Toolbox」V0.1 バージョンのダウンロード

2 。ビデオチュートリアル

3.

エントリーレベルの.NET MVCの例

4.

MyMVCボックスでアクションを見つけるプロセスの詳細な説明

5.

.NET MyMVCフレームワークが戻り値を処理します。チュートリアル

6. メソッドに値を割り当てる方法に関する

.NET MyMVCフレームワークのチュートリアル

以上が.NET MyMVCフレームワークでアクションを実行するプロセスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DJI Osmo Action 5 Pro: GoPro Hero 13 Black を割り込む可能性のある発売価格を小売店が明らかにしたため、発売日が議論される DJI Osmo Action 5 Pro: GoPro Hero 13 Black を割り込む可能性のある発売価格を小売店が明らかにしたため、発売日が議論される Sep 04, 2024 am 06:51 AM

DJIはまだ新しいアクションカメラを導入する計画を確認していません。その代わりに、GoPro は今年、9 月 4 日に 2 台の新しいアクション カメラを発表すると予告し、ライバルに先んじることになるようです。

新しい DJI Osmo アクションカメラが、最近の GoPro や Insta360 リリースに匹敵するおそらく 2024 年夏の発売前に発見される 新しい DJI Osmo アクションカメラが、最近の GoPro や Insta360 リリースに匹敵するおそらく 2024 年夏の発売前に発見される Jul 01, 2024 am 09:49 AM

DJI が Osmo Action 4 (Amazon で現在 299 ドル) をリリースしてからほぼ 1 年が経過しました。それ以来、同社は新しい RS カメラ ジンバルを含む他の部門に注力してきました。それに加えて、Avata だけでなく、さまざまなドローンも導入しています。

Vuex状態管理のアクション非同期操作の詳細説明 Vuex状態管理のアクション非同期操作の詳細説明 Aug 10, 2022 pm 03:29 PM

場合によっては、非同期である必要があるネットワーク リクエストなど、Vuex で非同期操作を実行したいことがあります。この状況にどう対処するか?Vuex 状態管理のアクション非同期操作を紹介します。困っている友達に役立ちます。

Insta360 Go 3S: Apple Find My サポート付きで重量わずか 39 g の新しいポケットに入れられる 4K アクション カメラがリリース Insta360 Go 3S: Apple Find My サポート付きで重量わずか 39 g の新しいポケットに入れられる 4K アクション カメラがリリース Jun 14, 2024 pm 06:05 PM

Insta 360 は、Insta 360 X4 (Amazon で現在 499.99 ドル) に続いて 2 番目の新しいアクション カメラをリリースしました。予想どおり、同社は Go3 をアップグレードし、4K ビデオ録画機能を追加しました。

GoPro は、興味深い GoPro Hero とともに新しいレンズ MOD を備えた新しい Hero 13 Black アクション カメラをリリースします GoPro は、興味深い GoPro Hero とともに新しいレンズ MOD を備えた新しい Hero 13 Black アクション カメラをリリースします Sep 05, 2024 am 06:45 AM

GoPro は毎年恒例のアクション カメラの刷新を導入しました。近年とは異なり、同社は2モデルのリリースを決定した。しかし、昨年の今頃、Max wi を置き換えるとほのめかしていたにもかかわらず、360 度カメラには戻っていません。

elasticsearch Javaクライアントアクションを実装する方法 elasticsearch Javaクライアントアクションを実装する方法 May 22, 2023 am 08:43 AM

elasticsearch でのほとんどの操作は、アクション パッケージに含まれる対応するアクションを通じて行われます。その構造は次の図に示されています。 上の図は、各機能のアクションに対応するアクション パッケージの一部のスクリーンショットです。各アクションのパッケージもインデックスとよく似ています。これらのアクションの実装も非常に似ています。これらはすべて基本的なセルフアクションです。次の図は、indexaction の継承関係を示しています。これらのアクションは実際には対応する関数を実装しておらず、単なるプロキシであるため、実装もとてもシンプルです。それらの主な機能は、新しい応答と要求、およびそれらに対応するアクションを作成するためのメソッドを提供することです。

GoPro Hero: 新しいポケットサイズのアクション カメラが発売日とともにリークされる GoPro Hero: 新しいポケットサイズのアクション カメラが発売日とともにリークされる Aug 16, 2024 am 09:43 AM

まったく新しい GoPro アクション カメラの詳細が、Hero 13 Black に関する同等の情報とともにオンラインでリークされました。以下に含まれる情報は、現在削除されている Amazon US の出品情報からのものであることに注意してください。

取引 | 12日間のバッテリー寿命、GPS、1,000 nits AMOLEDを備えたAmazfit GTR 3 Pro Limited Editionスマートウォッチがわずか125ドルで入手可能に 取引 | 12日間のバッテリー寿命、GPS、1,000 nits AMOLEDを備えたAmazfit GTR 3 Pro Limited Editionスマートウォッチがわずか125ドルで入手可能に Aug 15, 2024 am 11:14 AM

Amazfit GTR 3 Pro Limited Edition は現在、Amazon で定価の 209.99 ドルより 40% 安い、わずか 124.99 ドルで販売されています。アルミニウムケースを備えた標準バージョンと比較して、Amazfit GTR 3 Pro Limited Edition は手磨きのステインを使用しています。

See all articles