|
|
Opublikowano 12.12.2018 15:50:20
|
|
|
|

Usuń bezużyteczne silniki widoku
Domyślnie ASP.NET MVCE obsługuje zarówno silniki WebForm, jak i Razor, a w tym samym projekcie zwykle używamy tylko jednego silnika widoku, takiego jak Razor, aby usunąć nieużywany silnik widoku i poprawić efektywność pobierania widoków. Przed usunięciem silnika WebForm, podczas pobierania widoków, które nie istnieją w kontrolerze, widzimy na poniższym rysunku, że kolejność pobierania widoków jest najpierw pod katalogiem Home, a następnie aspx i ascx w katalogu współdzielonym.
1. Dodaj następujący kod do Global.asax:
Teraz spójrzmy na to
Kompresja łączy Css i Js
W APS.NET MVC4 istnieje dodatkowa klasa BundleConfig.cs pod folderem App_Start, która została specjalnie zaprojektowana do kompresji połączonych plików, a funkcja kompresji i łączenia jest domyślnie włączona, oczywiście możemy też użyć BundleTable.EnableOptimizations = true; by pokazać, że ustawienie jest włączone.
Należy jednak zauważyć, że debug jest ustawiony na false w Web.config, aby kompresja mogła zadziałać
Przyjrzyjmy się porównaniu przed i po połączeniu kompresji
Przed scalaniem kompresji:
Po połączeniu kompresji
Oczywiście widać, że pliki zostały połączone, co zmniejszyło liczbę żądań sieciowych, a jednocześnie ich rozmiar się zmniejszył, co wskazuje, że zostały skompresowane.
Uwaga: Możemy łączyć tylko pliki tego samego typu, co oznacza, że nie możemy łączyć plików js i css, możemy łączyć tylko pliki js i css osobno.
Używaj tokenów antyfałszerstwowych, aby uniknąć ataków CSRF
W przypadku zgłoszeń wyrażających się problemem jest bezpieczeństwo. ASP.NET MVC zapewnia mechanizm wykrywania określonych typów ataków, w tym tokenów przeciwdziałających fałszerstwom. Token ten zawiera zarówno komponenty po stronie serwera, jak i klienta, a kod wprowadza ukrytą domenę do formularza, aby przechować token specyficzny dla użytkownika @Html.AntiForgeryToken()
Uwaga: @Html.AntiForgeryToken() można dodawać tylko do formularzy zadeklarowanych w formie Html.BeginForm(), a nie <form>do tagów tylko w HTML.
Pomocnicza metoda Html.AntiForgeryToken zapisuje zaszyfrowane dane do ciasteczka przeglądarki klienta, a następnie wstawia ukryte pole o nazwie _RequestVerificationToken w formularzu, zawartość ukrytego pola, treść ukrytego pola; za każdym razem po odświeżeniu strony wartość tego ukrytego pola jest weryfikowana i porównywana z zaszyfrowanymi danymi ciasteczka, Walidacja jest wymagana, aby umożliwić wykonanie tej metody Action.
A strona serwera wykona te kody walidacyjne tokenów przed przetwarzaniem danych, w następujący sposób: [ValidateAntiForgeryToken]
Ukryj ASP.NET wersji MVC
Domyślnie strona ASP.NET MVC udostępnia numer wersji przeglądarki,
Add MvcHandler.DisableMvcResponseHeader = true w Global.asax;
Określ, czy żądanie klienta to Ajax:Request.IsAjaxRequest
|
Poprzedni:System cywilizacji świata, PDFNastępny:C# na DevCloud
|