|
|
Публикувано в 12.12.2018 г. 15:50:20 ч.
|
|
|
|

Премахнете неизползваемите визуални двигатели
По подразбиране ASP.NET MVCE поддържа както WebForm, така и Razor енджини, и обикновено използваме само един engine за изглед в един и същи проект, като Razor, за да премахнем неизползвания енджин за изгледи и да подобрим ефективността на извличане на изгледите. Преди WebForm двигателят да бъде изтрит, при извличане на изгледи, които не съществуват в контролера, можем да видим от следващата фигура, че редът на извличане на изгледи е първо в Home директорията, а след това в aspx и ascx файловете под Shared директорията.
1. Добавете следния код в Global.asax:
Сега нека погледнем
Компресията обединява Css и Js
В APS.NET MVC4 има допълнителен клас BundleConfig.cs под папката App_Start, който е специално проектиран за компресиране на обединени файлове, а функцията за компресия и сливане е активирана по подразбиране, разбира се, можем да използваме и BundleTable.EnableOptimizations = true; за да покаже, че настройката е включена.
Въпреки това, имайте предвид, че debug е настроен на false в Web.config, за да влезе компресията в сила
Нека разгледаме сравнението преди и след сливането на компресията
Преди сливането на компресията:
След като компресията се слее
Очевидно виждаме, че файловете са обединени, намалявайки броя на мрежовите заявки, а в същото време размерът на файловете също е намалял, което показва, че са били компресирани.
Забележка: Можем да обединяваме само файлове от един и същи тип, което означава, че не можем да обединяваме js и css файлове заедно, можем да обединяваме js файлове и css файлове поотделно.
Използвайте токени за борба с фалшификация, за да избегнете CSRF атаки
При изразяваните заявки въпросът е сигурността. ASP.NET MVC предоставя механизъм за откриване на определени видове атаки, една от които са токени против фалшификати. Този токен съдържа както сървърни, така и клиентски компоненти, а кодът вмъква скрит домейн във формата, който съхранява специфичния за потребителя токен @Html.AntiForgeryToken()
Забележка: @Html.AntiForgeryToken() може да се добавя само към форми, обявени под формата на Html.BeginForm(), а не <form>само към форми с тагове, базирани само на HTML.
Помощният метод Html.AntiForgeryToken ще запише криптирани данни към бисквитката на браузъра на клиента и след това ще вмъкне скрито поле, наречено _RequestVerificationToken, съдържанието на скритото поле, съдържанието на скритото поле. Всеки път, когато страницата се обнови, стойността на това скрито поле се проверява и сравнява с криптираните данни на бисквитката, Валидиране е необходимо, за да се позволи изпълнението на този метод на действие.
Сървърната страна ще изпълнява тези кодове за валидиране на токени преди обработката на данни, както следва: [ValidateAntiForgeryToken]
Скрий ASP.NET MVC версия
По подразбиране уебсайтът на ASP.NET MVC предоставя номера на версията на браузъра,
Add MvcHandler.DisableMvcResponseHeader = true в Global.asax;
Определете дали заявката на клиента е Ajax:Request.IsAjaxRequest
|
Предишен:Система за световна цивилизация, PDFСледващ:C# в DevCloud
|