Преимущества ASP.NET перед ASP
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой
  1. Компилируемый код выполняется быстрее, большинство ошибок отлавливается ещё на стадии разработки

2. Значительно улучшенная обработка ошибок во время выполнения запущеной готовой программы, с использованием блоков try..catch

3. Пользовательские элементы управления (controls) позволяют выделять часто используемые шаблоны, такие как меню сайта

4. Использование метафор, уже применяющихся в Windows-приложениях, например, таких как элементы управления и события

5. Расширяемый набор элементов управления и библиотек классов позволяет быстрее разрабатывать приложения

6. ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д.

7. Возможность кэширования всей страницы или её части для увеличения производительности

8. Возможность кэширования данных, используемых на странице

9. Возможность разделения визуальной части и бизнес-логики по разным файлам («code behind»)

10. Расширяемая модель обработки запросов

11. Расширенная событийная модель

12. Расширяемая модель серверных элементов управления

13. Наличие master-страниц для задания шаблонов оформления страниц

14. Поддержка CRUD-операций при работе с таблицами через GridView

15. Встроенная поддержка AJAX

16. ASP.NET имеет преимущество в скорости по сравнению с другими технологиями, основанными на скриптах

Пример манифеста.

// Metadata version: v2.0.50727 .assembly extern mscorlib { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )     // .z\V.4.. .ver 2:0:0:0 } .assembly extern Microsoft.VisualStudio.HostingProcess.Utilities.Sync { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )       // .?_....: .ver 9:0:0:0 } .assembly vshost { // пользовательские атрибуты (добавляются автоматически) .custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(string) = ( 01 00 2E C2 A9 20 4D 69 63 72 6F 73 6F 66 74 20 // ..... Microsoft                                                                                              43 6F 72 70 6F 72 61 74 69 6F 6E 2E 20 41 6C 6C // Corporation. All                                                                                              20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 // rights reserved                                                                                              2E 00 00 )                                   // ... .custom instance void [mscorlib]System.Runtime.InteropServices.ComVisibleAttribute::.ctor(bool) = ( 01 00 00 00 00 ) .custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 01 00 00 ) .custom instance void [mscorlib]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 0A 76 73 68 6F 73 74 2E 65 78 65 00 00 ) // ...vshost.exe.. .custom instance void [mscorlib]System.Reflection.AssemblyDescriptionAttribute::.ctor(string) = ( 01 00 0A 76 73 68 6F 73 74 2E 65 78 65 00 00 ) // ...vshost.exe.. .custom instance void [mscorlib]System.Reflection.AssemblyDefaultAliasAttribute::.ctor(string) = ( 01 00 0A 76 73 68 6F 73 74 2E 65 78 65 00 00 ) // ...vshost.exe.. .custom instance void [mscorlib]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 15 4D 69 63 72 6F 73 6F 66 74 20 43 6F 72 // ...Microsoft Cor                                                                                            70 6F 72 61 74 69 6F 6E 00 00 )              // poration.. .custom instance void [mscorlib]System.Reflection.AssemblyProductAttribute::.ctor(string) = ( 01 00 24 4D 69 63 72 6F 73 6F 66 74 20 28 52 29 // ..$Microsoft (R)                                                                                            20 56 69 73 75 61 6C 20 53 74 75 64 69 6F 20 28 // Visual Studio (                                                                                            52 29 20 32 30 30 38 00 00 )                 // R) 2008.. .custom instance void [mscorlib]System.Resources.NeutralResourcesLanguageAttribute::.ctor(string) = ( 01 00 05 65 6E 2D 55 53 00 00 )              // ...en-US.. .custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = ( 01 00 0B 39 2E 30 2E 33 30 37 32 39 2E 31 00 00 ) // ...9.0.30729.1.. .custom instance void [mscorlib]System.Reflection.AssemblyInformationalVersionAttribute::.ctor(string) = ( 01 00 0B 39 2E 30 2E 33 30 37 32 39 2E 31 00 00 ) // ...9.0.30729.1.. .custom instance void [mscorlib]System.Resources.SatelliteContractVersionAttribute::.ctor(string) = ( 01 00 07 39 2E 30 2E 30 2E 30 00 00 )        // ...9.0.0.0.. .custom instance void [mscorlib]System.Reflection.AssemblyKeyFileAttribute::.ctor(string) = ( 01 00 25 66 3A 5C 64 64 5C 74 6F 6F 6C 73 5C 64 // ..%f:\dd\tools\d                                                                                            65 76 64 69 76 5C 46 69 6E 61 6C 50 75 62 6C 69 // evdiv\FinalPubli                                                                                            63 4B 65 79 2E 73 6E 6B 00 00 )              // cKey.snk.. .custom instance void [mscorlib]System.Reflection.AssemblyDelaySignAttribute::.ctor(bool) = ( 01 00 01 00 00 )   // --- Следующий настраиваемый атрибут добавлен автоматически, не следует отменять преобразование в комментарий ------- // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 02 00 00 00 00 00 )   .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx                                                                                                         63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )  // ceptionThrows. .publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 // .$..............            00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 // .$..RSA1........            07 D1 FA 57 C4 AE D9 F0 A3 2E 84 AA 0F AE FD 0D // ...W............            E9 E8 FD 6A EC 8F 87 FB 03 76 6C 83 4C 99 92 1E // ...j.....vl.L...            B2 3B E7 9A D9 D5 DC C1 DD 9A D2 36 13 21 02 90 // .;.........6.!..            0B 72 3C F9 80 95 7F C4 E1 77 10 8F C6 07 77 4F // .r<......w....wO            29 E8 32 0E 92 EA 05 EC E4 E8 21 C0 A5 EF E8 F1 // ).2.......!.....            64 5C 4C 0C 93 C1 AB 99 28 5D 62 2C AA 65 2C 1D // d\L.....(]b,.e,.            FA D6 3D 74 5D 6F 2D E5 F1 7E 5E AF 0F C4 96 3D // ..=t]o-..~^....=            26 1C 8A 12 43 65 18 20 6D C0 93 34 4D 5A D2 93 ) // &...Ce. m..4MZ.. .hash algorithm 0x00008004 .ver 9:0:0:0    } .module vshost.exe // MVID: {69704547-92AE-4E10-B632-1498EB2D0B50} .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0002  // WINDOWS_GUI .corflags 0x00000009 // ILONLY // Image base: 0x017D0000


Описание директив манифеста

Директива IL Описание
assembly extern <имя Сборки> Указывает внешнюю сборку, необходимую для работы данной (ссылка на общую библиотеку классов mscorlib)
.publickeytoken <хеш> Маркер открытого ключа подключаемой сборки. Необходим для точной идентификации сборки.
.ver <версия> Определяет необход.версию подключаемой сборки
.assembly <имя сборки> Указывает имя сборки. Текстовая строка
.hash algorithm Определяет алгоритм, по которому рассчитывался маркер открытого ключа данной сборки.
.ver 0:0:0:0 Определяет версию сборки. Основной и дополнительный номера версии, номер редакции и номер построения.
.public Открытый ключ, встраиваемый в сборку
.culture Указывает региональную принадлежность сборки и язык
.module <имя файла> Указывает имя основного модуля данной сборки.
module extern<имя Файла> Указывает имя внешнего модуля входящего в данную сборку, на который есть ссылки в коде данной сборки
.imagebase <адрес> Указывает адрес, по которому следует загружать данную сборку в адресное пространство приложения.
.subsystem <константа> Указывает на тип приложения. В нашем случае число 3 указывает на то, что приложение консольное.
.file alignment <512> Определяет выравнивание, использовавшееся компилятором при создании данного файла.
.corflags <константа> Директива является зарезервированной.
.mresource public <название ресурса> Указывает на то, что к сборке будет подключен общедоступный ресурс с заданным именем.
.file <имя файла> Определяет имя файла в котором располагается ресурс.
stackreserve Задает общий объем виртуальной памяти, выделяемой под стека в байтах. Для x86 и x64 по умолчанию 1 МБ. Используется для исполняемого файла.
.entrypoint Указывает на то, что точка входа в приложение будет располагаться в данном модуле.

Дата: 2019-02-25, просмотров: 214.