MVC'de çalışmaya yaklaşık bir yıl önce başladım, ilham aldım ama etkilenmedim.
Görünüm durumundan nefret ediyorum ve ASP.NET açısından tüm kötülüklerin kökü olarak görüyorum. Bu yüzden onu kullanmıyorum ve tamamen dürüst olmak gerekirse neden yapasın ki?
Temelde ASP.NET MVC Framework konseptini aldım ve bunu kendi yöntemimle oluşturdum. Yine de birkaç şeyi değiştirdim. Denetleyicimi sarma kodunu veya URL yönlendirme kodunu dinamik yeniden derleme etrafında oluşturdum.
Şimdi, ASP.NET MVC uygulamalarının nasıl kullandığınıza bağlı olarak daha hızlı olacağını söyleyecek kadar ileri gideceğim. WebForms'u tamamen terk ederseniz, ASP.NET yaşam döngüsü ve nesne modeli çok büyük olduğu için daha hızlı olursunuz.
Yazarken, bir orduyu örnekliyorsunuz ... beklemeyin, görüşünüzün oluşturulmasına katkıda bulunacak bir nesneler ordusu. Bu, ASPX sayfasındaki minimum davranış miktarını nerede ifade edeceğinizden daha yavaş olacaktır. (Görünüm motoru soyutlamasını umursamıyorum çünkü Visual Studio'daki ASPX sayfaları için destek iyi, ancak WebForms'u bir kavram olarak ve temelde herhangi bir ASP.NET çerçevesini kod şişkinliği veya değiştirememe nedeniyle tamamen bıraktım. başvuruma bağlanan şeyler).
Gerektiğinde özel amaçlı nesneler ve kod yaymak için dinamik yeniden derlemeye (System.Reflection.Emit) güvenmenin yollarını buldum. Bu kodun yürütülmesi yansımadan daha hızlıdır ancak başlangıçta yansıtma hizmeti aracılığıyla oluşturulur. Bu, MVC aromalı çerçeveme harika bir performans sağladı, ancak aynı zamanda çok statik olarak yazılmış. Dizeler ve ad / değer çifti koleksiyonları kullanmıyorum. Bunun yerine, özel derleyici hizmetlerim, bir başvuru türü geçirilen bir denetleyici eylemine bir form gönderisini yeniden yazar. Sahnenin arkasında pek çok şey var ama bu kod hızlı, WebForms veya MVC Framework'ten çok daha hızlı.
Ayrıca, URL'ler yazmıyorum, daha sonra hangi denetleyici eyleminin başlatılacağını söyleyen URL'lere çevrilen lambda ifadeleri yazıyorum. Bu özellikle hızlı değil, ancak bozuk URL'lere sahip olmaktan daha iyi. Sanki statik olarak yazılmış kaynaklarınız ve statik olarak yazılmış nesneleriniz varmış gibi. Statik olarak yazılmış bir web uygulaması mı? İstediğim bu!
Daha fazla insanı bunu denemeye teşvik ederim.