|
|
Geplaatst op 12-12-2018 15:50:20
|
|
|
|

Verwijder nutteloze view-engines
Standaard ondersteunt ASP.NET MVCE zowel WebForm- als Razor-engines, en gebruiken we meestal maar één view-engine in hetzelfde project, zoals Razor, zodat we de ongebruikte view-engine kunnen verwijderen en de ophaalefficiëntie van View-weergaven kunnen verbeteren. Voordat de WebForm-engine wordt verwijderd, kunnen we bij het ophalen van weergaven die niet in de controller bestaan, uit de volgende figuur zien dat de volgorde van het ophalen van weergaven eerst onder de Home-map ligt, en daarna aspx- en ascx-bestanden onder de Shared-map.
1. Voeg de volgende code toe aan Global.asax:
Laten we nu eens kijken
Compressie voegt Css en Js samen
In APS.NET MVC4 is er een extra BundleConfig.cs-klasse onder de App_Start-map, die specifiek is ontworpen om samengevoegde bestanden te comprimeren, en de compressie- en mergefunctie is standaard ingeschakeld; natuurlijk kunnen we ook BundleTable.EnableOptimizations = true; om aan te geven dat de instelling aan staat.
Let echter op dat debug in Web.config op false staat om compressie te laten uitvoeren
Laten we eens kijken naar de vergelijking voor en na de compressiesamenvoeging
Voor de compressie-samenvoeging:
Nadat de compressie is samengevoegd
Natuurlijk zien we dat de bestanden zijn samengevoegd, waardoor het aantal netwerkverzoeken afneemt, en tegelijkertijd is de grootte van de bestanden ook afgenomen, wat aangeeft dat ze zijn gecomprimeerd.
Opmerking: We kunnen alleen bestanden van hetzelfde type samenvoegen, wat betekent dat we geen js- en css-bestanden kunnen samenvoegen, we kunnen alleen js-bestanden en css-bestanden apart samenvoegen.
Gebruik anti-vervalsingstokens om CSRF-aanvallen te vermijden
Bij inzendingen van expressie is de zorg veiligheid. ASP.NET MVC biedt een mechanisme om bepaalde soorten aanvallen te detecteren, waarvan één anti-namaaktokens zijn. Dit token bevat zowel server- als clientcomponenten, en de code voegt een verborgen domein in het formulier in om het gebruikersspecifieke token @Html.AntiForgeryToken() te bevatten.
Opmerking: @Html.AntiForgeryToken() kan alleen worden toegevoegd aan formulieren die zijn gedeclareerd in de vorm van Html.BeginForm(), niet aan HTML-only <form>tagformulieren.
De hulpmethode Html.AntiForgeryToken schrijft een versleutelde data naar de cookie van de browser van de client, en voegt vervolgens een verborgen veld genaamd _RequestVerificationToken in in de vorm, de inhoud van het verborgen veld, de inhoud van het verborgen veld, elke keer dat de pagina wordt vernieuwd, wordt de waarde van dit verborgen veld geverifieerd en vergeleken met de versleutelde gegevens van de cookie, Validatie is vereist om de uitvoering van deze Actie-methode mogelijk te maken.
En de serverzijde voert deze tokenvalidatiecodes uit vóór de gegevensverwerking, als volgt: [ValidateAntiForgeryToken]
Verberg ASP.NET MVC-versie
Standaard geeft de ASP.NET MVC-website het versienummer aan de browser,
Voeg MvcHandler.DisableMvcResponseHeader toe = waar in Global.asax;
Bepaal of het clientverzoek Ajax:Request.IsAjaxRequest is.
|
Vorig:Wereldbeschavingssysteem, PDFVolgend:C# op DevCloud
|