首先,我们要先在web.config中注册MyMVC的HttpHandlerFactory,它是整个框架的入口。
在ASP.NET的管线过程中,会调用GetHandler()方法,终于我的代码有机会运行了!
框架执行的第一行代码是:
// 根据请求路径,定位到要执行的ActionControllerActionPair pair = UrlParser.ParseAjaxUrl(virtualPath);
public sealed class ControllerActionPair{ public string Controller; public string Action;} 静态方法UrlParser.ParseAjaxUrl()就是专门用来解析URL并返回ControllerActionPair的:
代码很简单,核心其实就是那个正则表达式,从URL中提取Controller,Action的名字全靠它。
至于正则表达式的使用,我想这是个基本功,这里就略过了。
再来看AjaxHandlerFactory的第二个调用:
// 获取内部表示的调用信息InvokeInfo vkInfo = ReflectionHelper.GetAjaxInvokeInfo(pair);
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免费视频教程
Atas ialah kandungan terperinci MyMVC框查找Action的过程详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

C# dan .NET sesuai untuk pembangunan web, desktop dan mudah alih. 1) Dalam pembangunan web, ASP.Netcore menyokong pembangunan silang platform. 2) Pembangunan desktop menggunakan WPF dan WinForms, yang sesuai untuk keperluan yang berbeza. 3) Pembangunan mudah alih menyedari aplikasi silang platform melalui Xamarin.

Ekosistem C#.NET menyediakan rangka kerja dan perpustakaan yang kaya untuk membantu pemaju membina aplikasi dengan cekap. 1.asp.NetCore digunakan untuk membina aplikasi web berprestasi tinggi, 2.EntityFrameworkCore digunakan untuk operasi pangkalan data. Dengan memahami penggunaan dan amalan terbaik alat -alat ini, pemaju dapat meningkatkan kualiti dan prestasi aplikasi mereka.

Bagaimana cara menggunakan aplikasi C# .net ke Azure atau AWS? Jawapannya ialah menggunakan Azureappservice dan AwselasticBeansTalk. 1. Pada Azure, mengautomasikan penggunaan menggunakan Azureappservice dan Azurepipelines. 2. Pada AWS, gunakan Amazon ElasticBeansTalk dan AWSLambda untuk melaksanakan penempatan dan pengiraan tanpa pelayan.

Gabungan C# dan .NET menyediakan pemaju dengan persekitaran pengaturcaraan yang kuat. 1) C# menyokong polimorfisme dan pengaturcaraan asynchronous, 2) .NET menyediakan keupayaan silang platform dan mekanisme pemprosesan serentak, yang menjadikannya digunakan secara meluas dalam pembangunan aplikasi desktop, web dan mudah alih.

.NetFramework adalah kerangka perisian, dan C# adalah bahasa pengaturcaraan. 1..NetFramework menyediakan perpustakaan dan perkhidmatan, sokongan desktop, web dan aplikasi mudah alih. 2.C# direka untuk .NetFramework dan menyokong fungsi pengaturcaraan moden. 3..NetFramework Menguruskan pelaksanaan kod melalui CLR, dan kod C# disusun ke IL dan dikendalikan oleh CLR. 4. Gunakan .NetFramework untuk membangunkan aplikasi dengan cepat, dan C# menyediakan fungsi lanjutan seperti LINQ. 5. Kesilapan umum termasuk penukaran jenis dan kebuntuan pengaturcaraan tak segerak. Alat VisualStudio diperlukan untuk debugging.

C# adalah bahasa pengaturcaraan yang berorientasikan objek yang dibangunkan oleh Microsoft, dan .NET adalah rangka kerja pembangunan yang disediakan oleh Microsoft. C# menggabungkan prestasi C dan kesederhanaan Java, dan sesuai untuk membina pelbagai aplikasi. Rangka kerja .NET menyokong pelbagai bahasa, menyediakan mekanisme pengumpulan sampah, dan memudahkan pengurusan memori.

C# dan .NET Runtime bekerjasama rapat untuk memperkasakan pemaju untuk keupayaan pembangunan yang cekap, kuat dan silang platform. 1) C# adalah bahasa pengaturcaraan yang berorientasikan objek dan berorientasikan objek yang direka untuk mengintegrasikan dengan lancar dengan rangka .NET. 2) Runtime NET menguruskan pelaksanaan kod C#, menyediakan pengumpulan sampah, keselamatan jenis dan perkhidmatan lain, dan memastikan operasi yang cekap dan silang platform.

Untuk memulakan C# .NET Development, anda perlu: 1. Memahami pengetahuan asas C# dan konsep teras Rangka Kerja NET; 2. Menguasai konsep asas pembolehubah, jenis data, struktur kawalan, fungsi dan kelas; 3. Belajar ciri -ciri canggih C#, seperti LINQ dan pengaturcaraan asynchronous; 4. Berkenaan dengan teknik debugging dan kaedah pengoptimuman prestasi untuk kesilapan biasa. Dengan langkah -langkah ini, anda secara beransur -ansur boleh menembusi dunia C#.net dan menulis aplikasi yang cekap.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular
