اختصاصی کردن Razor برای #C و VB در MVC

اختصاصی کردن Razor برای #C و VB در MVC در این مقاله قصد داریم موتور Razor را اختصاصی کنیم یعنی یا فقط #C و یا از VB استفاده کنه ، با اینکار سرعت پروژه به میزان زیادی بالا خواهد رفت

اختصاصی کردن Razor برای #C و VB در MVC

سلام

در مقاله قبل با عنوان بالا بردن سرعت در MVC موفق شدیم با دستور زیر Engin مربوط به ASPX رو از کار بندازیم و سرعت برنامه را تا حد چشم گیری افزایش دهیم

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new RazorViewEngine());

ولی متاسفانه همچنان دنبال View هایی با پسوند VB میگرده

در تصویر بالا میبینید که همچنان دنبال Index.vbhtml در دو مسیر میگرده

در این مقاله قصد داریم به Engin بگیم فقط دنبال View های cshtml بگرده

در مسیر App_Start یک کلاس با نام CSharpRazorViewEngine و کدهای زیر را در آن قرار دهید

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace ClearEnginVB_MVC.App_Start
{
    public class CSharpRazorViewEngine : RazorViewEngine
    {
        public CSharpRazorViewEngine()
        {
            AreaViewLocationFormats = new[]
    {
    "~/Areas/{2}/Views/{1}/{0}.cshtml",
    "~/Areas/{2}/Views/Shared/{0}.cshtml"
    };
            AreaMasterLocationFormats = new[]
    {
    "~/Areas/{2}/Views/{1}/{0}.cshtml",
    "~/Areas/{2}/Views/Shared/{0}.cshtml"
    };
            AreaPartialViewLocationFormats = new[]
    {
    "~/Areas/{2}/Views/{1}/{0}.cshtml",
    "~/Areas/{2}/Views/Shared/{0}.cshtml"
    };
            ViewLocationFormats = new[]
    {
    "~/Views/{1}/{0}.cshtml",
    "~/Views/Shared/{0}.cshtml"
    };
            MasterLocationFormats = new[]
    {
    "~/Views/{1}/{0}.cshtml",
    "~/Views/Shared/{0}.cshtml"
    };
            PartialViewLocationFormats = new[]
    {
    "~/Views/{1}/{0}.cshtml",
    "~/Views/Shared/{0}.cshtml"
    };
        }
    }
}

 

سپس به Global.asax رفته کد درج شده به شکل زیر ویرایش کنید

      ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new CSharpRazorViewEngine());

همانطور که در تصویر میبینید فقط دنبال View هایی با پسوند cshtml میگرده و سرعت لود بازهم افزایش پیدا میکنه

نمونه هم ضمیمه شد

موفق باشید دوستان خوبم

 

فایل های ضمیمه