Rumah pembangunan bahagian belakang Tutorial C#.Net MyMVC框查找Action的过程详解

MyMVC框查找Action的过程详解

May 17, 2017 am 11:30 AM
action

首先,我们要先在web.config中注册MyMVC的HttpHandlerFactory,它是整个框架的入口。
在ASP.NET的管线过程中,会调用GetHandler()方法,终于我的代码有机会运行了!
框架执行的第一行代码是:

// 根据请求路径,定位到要执行的ActionControllerActionPair pair = UrlParser.ParseAjaxUrl(virtualPath);
Salin selepas log masuk
public sealed class ControllerActionPair{    public string Controller;    public string Action;}
静态方法UrlParser.ParseAjaxUrl()就是专门用来解析URL并返回ControllerActionPair的:
Salin selepas log masuk

代码很简单,核心其实就是那个正则表达式,从URL中提取Controller,Action的名字全靠它。
至于正则表达式的使用,我想这是个基本功,这里就略过了。

再来看AjaxHandlerFactory的第二个调用:

// 获取内部表示的调用信息InvokeInfo vkInfo = ReflectionHelper.GetAjaxInvokeInfo(pair);
Salin selepas log masuk

ReflectionHelper类是一个内部使用的工具类,专门用于反射处理,AjaxAction查找过程的相关代码如下(注意代码中的注释): 

上面就是AjaxAction查找相关的4段代码:
1. 在ReflectionHelper的静态构造函数中,我加载了所有AjaxController。
2. GetAjaxController方法用于根据一个Controller的名字返回Controller的类型描述。
3. GetAjaxAction方法用于根据Controller的类型以及要调用的Action的名字返回Action的描述信息。
4. GetAjaxInvokeInfo方法用于根据从AjaxHandlerFactory得到的ControllerActionPair描述转成更具体的描述信息。

代码中,Action的查找过程采用了延迟的加载模式,保存Action描述信息的集合我采用了线程安全的Hashtable

【相关推荐】

1. 特别推荐“php程序员工具箱”V0.1版本下载

2. ASP免费视频教程

3. 入门级的.NET MVC 实例

4. .NET MyMVC框架执行Action的过程详解

5. .NET MyMVC框架如何给方法赋值的教程

6. .NET MyMVC框架处理返回值的教程

Atas ialah kandungan terperinci MyMVC框查找Action的过程详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1654
14
Tutorial PHP
1252
29
Tutorial C#
1225
24
DJI Osmo Action 5 Pro: Tarikh keluaran diperkatakan apabila peruncit mendedahkan harga pelancaran yang boleh mengurangkan GoPro Hero 13 Black DJI Osmo Action 5 Pro: Tarikh keluaran diperkatakan apabila peruncit mendedahkan harga pelancaran yang boleh mengurangkan GoPro Hero 13 Black Sep 04, 2024 am 06:51 AM

DJI belum mengesahkan sebarang rancangan untuk memperkenalkan kamera aksi baharu lagi. Sebaliknya, nampaknya GoPro akan mendahului pesaingnya tahun ini, setelah mengusik bahawa ia akan memperkenalkan dua kamera aksi baharu pada 4 September. Untuk konteks, ini dijangka

Kamera aksi DJI Osmo baharu dikesan sebelum kemungkinan pelancaran musim panas 2024 untuk menyaingi keluaran GoPro dan Insta360 baru-baru ini Kamera aksi DJI Osmo baharu dikesan sebelum kemungkinan pelancaran musim panas 2024 untuk menyaingi keluaran GoPro dan Insta360 baru-baru ini Jul 01, 2024 am 09:49 AM

Hampir setahun telah berlalu sejak DJI mengeluarkan Osmo Action 4 (kurr. $299 di Amazon). Sejak itu, syarikat itu telah memberi tumpuan kepada bahagian lainnya, termasuk gimbal kamera RS baharu. Selain itu, ia juga telah memperkenalkan pelbagai dron seperti Avata

Insta360 Go 3S: Kamera tindakan 4K boleh poket baharu dikeluarkan seberat 39 g sahaja dengan sokongan Apple Find My Insta360 Go 3S: Kamera tindakan 4K boleh poket baharu dikeluarkan seberat 39 g sahaja dengan sokongan Apple Find My Jun 14, 2024 pm 06:05 PM

Insta360telah mengeluarkan kamera pelakon, yang kedua dalam tahun selepasInsta360X4(semasa $499.99 pada Amazon). Seperti yang dijangkakan, syarikat itu telah memperkenalkan Go3S, menaik taraf bahawaGo3that menambah 4K keupayaan rakaman video. Khususnya, semasa Inst

Penjelasan terperinci mengenai operasi tak segerak Tindakan pengurusan keadaan Vuex Penjelasan terperinci mengenai operasi tak segerak Tindakan pengurusan keadaan Vuex Aug 10, 2022 pm 03:29 PM

Dalam sesetengah kes, kami ingin melakukan beberapa operasi tak segerak dalam Vuex, seperti permintaan rangkaian, yang mesti tidak segerak Bagaimana untuk menangani situasi ini Di bawah saya akan memperkenalkan kepada anda operasi tak segerak bagi pengurusan keadaan Vuex membantu rakan-rakan yang memerlukan!

GoPro mengeluarkan kamera aksi Hero 13 Black baharu dengan mod kanta baharu bersama Hero GoPro yang ingin tahu GoPro mengeluarkan kamera aksi Hero 13 Black baharu dengan mod kanta baharu bersama Hero GoPro yang ingin tahu Sep 05, 2024 am 06:45 AM

GoPro kini telah memperkenalkan penyegaran kamera tindakan tahunannya. Tidak seperti beberapa tahun kebelakangan ini, syarikat itu telah memutuskan untuk mengeluarkan dua model. Walau bagaimanapun, ia tidak kembali ke kamera 360 darjah, walaupun kali ini mengusik tahun lepas bahawa ia akan menggantikan Max wi

Bagaimana untuk melaksanakan tindakan klien java elasticsearch Bagaimana untuk melaksanakan tindakan klien java elasticsearch May 22, 2023 am 08:43 AM

Kebanyakan operasi dalam elasticsearch adalah melalui tindakan yang sepadan, yang terdapat dalam pakej tindakan. Strukturnya ditunjukkan dalam rajah di bawah: Rajah di atas ialah tangkapan skrin separa pakej tindakan, yang sepadan dengan tindakan setiap fungsi. Pakej setiap tindakan juga sangat serupa dengan indeks. Pelaksanaan tindakan ini juga sangat serupa, semuanya adalah tindakan kendiri asas Rajah berikut menunjukkan hubungan pewarisan indexaction: Oleh kerana tindakan ini sebenarnya tidak melaksanakan fungsi yang sepadan, ia hanyalah proksi, jadi pelaksanaannya juga. sangat mudah. Fungsi utama mereka adalah untuk menyediakan kaedah untuk mencipta respons dan permintaan baharu serta tindakan yang sepadan.

GoPro Hero: Kamera aksi bersaiz poket baharu bocor bersama-sama dengan tarikh keluaran khabar angin GoPro Hero: Kamera aksi bersaiz poket baharu bocor bersama-sama dengan tarikh keluaran khabar angin Aug 16, 2024 am 09:43 AM

Butiran kamera tindakan GoPro yang benar-benar baharu telah bocor dalam talian bersama maklumat yang setara tentang Hero 13 Black. Sila ambil perhatian bahawa maklumat yang terkandung di bawah dikatakan berasal dari penyenaraian Amazon AS yang sejak itu telah dialih keluar

Tawaran | Jam tangan pintar Amazfit GTR 3 Pro Edisi Terhad dengan hayat bateri 12 hari, GPS dan 1,000 nits AMOLED kini tersedia pada harga hanya $125 Tawaran | Jam tangan pintar Amazfit GTR 3 Pro Edisi Terhad dengan hayat bateri 12 hari, GPS dan 1,000 nits AMOLED kini tersedia pada harga hanya $125 Aug 15, 2024 am 11:14 AM

Amazfit GTR 3 Pro Edisi Terhad kini dijual di Amazon dengan harga hanya $124.99, turun 40% daripada harga senarainya $209.99. Berbanding dengan versi standard yang mempunyai bekas aluminium, Amazfit GTR 3 Pro Edisi Terhad menggunakan noda yang digilap tangan

See all articles