Назад
Создание прибыльного бизнеспроекта на базе сайта

SEO + ASP.NET 4.0 + БИЗНЕСМОДЕЛЬ = ПРИБЫЛЬНЫЙ САЙТ

Инструмент быстрого построения прибыльного онлайн бизнеса своими силами без капиталовложений за 4 месяца все подробности на SEO + ASP.NET 4.0.

Подписка на рассылку

МАГИЯ C#!

Создание вебсайта с формой автоматического приема онлайн платежей по WebMoney!
Ваше имя
Ваш e-mail
Уроки по ASP.NET c# ADO.NET
     

18 видеоуроков
более 5 часов
по созданию сайта,
выполняющего
продажи ваших продуктов (физических/электронных) на полном автомате с личным оповещением на e-mail, а также ...
DVD-курс по C#, .NET

3 часть. Введение в ASP.NET. WebServices Профессиональная подготовка разработчика по языку C# на платформе .NET

asp.net webservices dvd c# gridview Гудок курс Более 65 подробных видео уроков по теоретическим основам технологии сайтостроения ASP.NET и процессу создания и использованию вебсервисов.

DVD-курс по C#, .NET

2А часть. XML/TXT в аспекте ADO.NET Профессиональная подготовка разработчика по языку C# на платформе .NET

xml txt dvd c# ADO ADO.NET Гудок курс 70 подробных видео уроков по работе с форматами xml, txt, по работе с файлами и директориями. Разработка высокоорганизованных свойств для значительного сокращения объема исходного кода и облегчения дальнейшей модификации и многое-многое другое...

DVD-курс по C#, .NET

1 часть. Windows Forms Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок

185 подробнейших уроков (70 часов) лекций в формате видеоуроков по теории языка c# и платформы .NET. Практическое закрепление теоретического материала на примере создания Windows Forms - приложения видеоигры "Tanks"

DVD-курс по C#, .NET

2 часть. ADO.NET/SQL Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок ADO.NET sql

165 подробных видео уроков по созданию приложений распределенных баз данных на примере разработки проектов с использований технологий ADO.NET (Connected model, Disconnected model, Typed DataSet, ...)

Бодибилдинг
Программы тренировок для занятий штангой, гантелями; описание тренажеров

Я записываю курсы!
  Курс валют

НБУ курс евро






Семь важных фактов об ASP.NET



Разработчики Microsoft описали ASP.NET как свой шанс “нажать на кнопку перезапуска” и начать работу с полностью новой, более современной моделью разработки. ASP.NET работает совсем иначе, нежели традиционные технологии написания сценариев, подобные классической системе ASP или PHP.

Дорогие друзья для тех, кто не знаком с ASP.NET (или просто хочет ещё раз просмотреть базовые сведения), я рассказываю о семи основных особенностях .NET-разработки.

Первый факт: ASP.NET интегрируется с .NET Framework

Среда .Net Framework состоит из очень тщательно отобранных функциональных частей, общее количество которых насчитывает более 10 000 типов (типами в .NET называются классы, структуры, интерфейсы и другие ключевые элементы программирования).

Обширная коллекция функциональных возможностей, предлагаемая .NET Framework, упорядочена очень удобным способом. Каждый из тысяч доступных в .NET Framework классов размещается в логическом иерархическом контейнере, который называется пространством имён (namespace). Разные пространства имён предоставляют разные функциональные возможности, а все вместе они предоставляют функциональные возможности для практически каждой области распределённой разработки, начиная от организации очередей сообщений и заканчивая обеспечением безопасности. Весь целиком этот обширный набор инструментов называется библиотекой классов (class library).

Второй факт: код ASP.NET компилируется, а не интерпретируется

Одной из главных причин снижения производительности в классических ASP-страницах является использование интерпретируемого кода сценария. При каждом выполнении ASP-страницы (не путать с ASP.NET-страницей), находящемуся на Web-сервере механизму сценариев приходится интерпретировать код сценария и преобразовать его в более низкоуровневый машинный код строка за строкой, а, как известно, этот процесс выполняется чрезвычайно медленно.

Приложения ASP.NET всегда компилируются: на самом деле выполнить код C# или Visual Basic, предварительно не скомпилировав его, просто не возможно.

Приложения ASP.NET в действительности проходят два этапа компиляции. На первом этапе написанный вами код C# компилируется в код на промежуточном языке под названием Microsoft Intermediate Language (MSIL), или просто IL. Этот первый шаг является фундаментальной причиной взаимозависимости .NET от языков. Этот первый этап компиляции может произойти автоматически при первом запросе страницы, или же его можно выполнить заранее (этот процесс известен как предварительная компиляция). Скомпилированный файл с кодом IL является сборкой.

Второй этап компиляции наступает непосредственно перед фактическим выполнением страницы. На этом этапе код IL компилируется в низкоуровневый собственный машинный код. Этот этап известен как оперативная компиляция “точно к нужному моменту” (Just-In-Time – JIT) и он проходит одинаково для всех приложений .NET (включая, например, приложения Windows). На рис. 1 показан этот двухэтапный процесс компиляции.

Рис. 1. Компиляция в рамках Web-страницы ASP.NET

Компиляция .NET делится на два этапа с целью предоставления разработчикам удобных условий и мобильности. Перед созданием низкоуровневого машинного кода компилятору необходимо знать, в какой операционной системе и на каком базовом оборудовании будет функционировать приложение (например, 32- или 64-разрядная ОС Windows). Благодаря двум этапам компиляции, можно создать скомпилированную сборку с кодом .NET и распределить её на более чем одну платформу.

Приложения ASP.NET не требуют, чтобы компиляция выполнялась при каждом запросе Web-страницы. Вместо этого код IL в них создаётся один раз и генерируется заново только в случае изменения исходного кода, а файлы собственного машинного кода кэшируются в системном каталоге, путь к которому выглядит примерно так:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files

В какой именно точке код компилируется в IL, зависит от способа создания и развёртывания приложения. Если приложение создаётся как Web-проект в Visual Studio, код компилируется в IL во время компиляции проекта. Но если оно создаётся как не относящийся ни к какому проекту облегчённый Web-сайт, тогда код каждой страницы компилируется при первом запрашивании этой страницы. Но и в том, и в другом случае, через второй этап компиляции (подразумевающий преобразование из IL-кода в машинный код) код проходит уже при первом выполнении.

Третий факт: ASP.NET поддерживает несколько языков

Выбор для разработки приложения того или иного языка никак не влияет на то, что с ним можно будет делать. А всё потому, что какой бы язык не использовался, код всё равно компилируется в IL.

Понять, что собой представляет IL, легче всего, рассмотрев простой пример. Возьмём следующий код, написанный на языке C#:

using System;
namespace HelloWorld 
{
   	public class TestClass
    {
  		private static void Main(string[] args)
		{
    		Console.WriteLine("Hello World");
		}
    }
}

Этот код демонстрирует наиболее простое приложение, которое можно создать в .NET – обычную утилиту командной строки, которая отображает в окне консоли сообщение “Hello World”.

Теперь давайте посмотрим на него с другой стороны. Ниже показано, как будет выглядеть IL-код для метода Main():

.method private hidebysig 
   static void Main(string[] args) cil managed
{
  .entrypoint
  //Размер кода 13 (0xd)
  .maxstack 8
  IL_0000: nop
  IL_0001: ldstr "Hello World"
  IL_0006: call void [mscorlib]System.Console
     ::WriteLine(string)
  IL_000b: nop
  IL_000c: ret
}

Просмотреть IL-код любого скомпилированного приложения .NET очень легко. Для этого нужно всего лишь запустить программу дизассемблера (IL Disassembler), которая называется ildasm.exe и устанавливается вместе с Visual Studio и .NET SDK (Software Development Kit – набор инструментальных средств разработки ПО). Когда утилита ildasm.exe загрузится, нужно воспользоваться доступной в меню File (Файл) командой Open (Открыть) и выбрать требуемый DLL- или EXE-файл, который был создан с помощью .NET.

Тем, кому нужен более мощный дизассемблер, могут попробовать воспользоваться замечательной (и к тому же бесплатной) программой Reflector, которая доступна для загрузки по следующему адресу: http://www.aisto.com/roeder/dotnet. Благодаря созданным добровольцами подключаемым модулям, она позволяет составлять диаграммы, анализировать и декомпилировать IL-код в любой сборке.

Поскольку клиент никогда не получает скомпилированный файл кода, у клиента нет возможности его дизассемблирования, поэтому проблемы приватности и управления кодом не являются препятствием для разработчиков ASP.NET.

Четвёртый факт: ASP.NET обслуживается CLR

Пожалуй, наиболее важным аспектом механизма ASP.NET является то, что он функционирует внутри исполняющей среды CLR. Вся среда .NET Framework – т.е. все пространства имён, приложения и классы – называется управляемым кодом.

Основные преимущества CLR:

  • Автоматическое управление памятью и сборка мусора. Каждый раз, когда приложение создаёт экземпляр объекта ссылочного типа (reference-type object). CLR выделяет для него пространство памяти в управляемой куче. Однако, вам никогда не придётся очищать эту память вручную. Как только ссылка на объект выходит за пределы области видимости (или приложение завершается), объект становится доступным для сборщика мусора. Сборщик мусора периодически запускается внутри CLR, автоматически восстанавливая неиспользованную память для недоступных объектов. Эта модель избавляет от низкоуровневых деталей манипулирования памятью C++ и от запутанности подсчёта ссылок COM.

  • Безопасность типов. При компиляции приложения .NET добавляет в сборку сведения о доступных классах, их членах, типах данных и т.д.Это позволяет другим приложениям использовать их, не требуя дополнительных вспомогательных файлов, а компилятору – удостоверяться в правильности запроса прямо во время выполнения. Такой дополнительный уровень безопасности полностью исключает вероятность возникновения всех видов низкоуровневых ошибок.

  • Расширяемые метаданные. Информация о классах и членах является только одним из типов метаданных, которые .NET может хранить в скомпилированной сборке. Метаданные описывают код и позволяют предоставлять дополнительную информацию исполняющей среде и другим службам. Например, эти метаданные могут указывать отладчику, как следует выполнять трассировку кода, или же сообщать Visual Studio о том, как во время проектирования должен отображаться какой-нибудь специальный элемент управления. Они также могут использоваться и для активизации ещё каких-нибудь служб во время выполнения, например, для активизации транзакций или пула объектов.

  • Структурированная обработка ошибок. Языки .NET поддерживают структурированную обработку исключений, что позволяет организовывать код обработки ошибок логичным и последовательным образом, т.е. создавать для разных типов ошибок отдельные блоки, а также размещать обработчики исключений на глубине в целых несколько уровней.

  • Многопоточность. CLR предоставляет пул потоков, которые могут использоваться различными классами. Например, можно асинхронно вызывать методы, читать файлы, либо взаимодействовать с Web-службами без необходимости явного создания новых потоков.
На рис. 2 показана высокоуровневая структура CLR и .NET Framework.

Рис. 2. CLR и .NET Framework

Пятый факт: ASP.NET является объектно-ориентированной технологией

Она не только предоставляет полный доступ ко всем объектам в .NET Framework, но и позволяет использовать все концепции объектно-ориентированного программирования (ООП). Например, она позволяет создавать повторно используемые классы, стандартизовать код с помощью интерфейсов, расширять существующие классы посредством наследования и объединять полезные функциональные возможности в пригодный для распространения скомпилированный компонент.

Одним из наилучших примеров поддержки объектно-ориентированного поведения в ASP.NET являются серверные элементы управления. Эти элементы управления представляют собой инкапсуляцию в миниатюре. Разработчики могут манипулировать их объектами программно, используя код для настройки их внешнего вида, предоставления подлежащих отображению данных и даже реагирования на события. Вся низкоуровневая HTML-разметка, которую визуализируют эти элементы управления, скрывается “за кулисами”. Вместо того чтобы вынуждать разработчика писать низкоуровневый код HTML-разметки вручную, объекты этих элементов управления сами преобразовываются в соответствующие HTML-элементы по завершении визуализации страницы. Таким образом, ASP.NET позволяет с помощью серверных элементов абстрагироваться от низкоуровневых деталей HTML- и HTTP-программирования.

Шестой факт: ASP.NET поддерживает множество устройств и браузеров

Несмотря на то, что вы можете извлекать информацию о браузере клиента и его свойствах внутри страницы ASP.NET, ASP.NET фактически побуждает разработчиков игнорировать эти соображения и использовать обширный набор элементов управления Web-сервера. Эти серверные элементы управления генерируют HTML, адаптируясь к возможностям клиента. Одним из примеров являются элементы управления верификацией ASP.NET, использующие JavaScript и DHTML (динамический HTML) для совершенствования своего поведения, если оно поддерживается клиентом. Это позволяет элементам управления верификацией отображать сообщения о динамических ошибках без необходимости отправки пользователем страницы серверу для продолжения обработки. Эти свойства необязательны, но они демонстрируют то, как интеллектуальные элементы управления могут составлять большую часть современных браузеров, не требуя других клиентов. Но самое лучшее заключается в том, что вам не нужны дополнительные работы по кодированию для поддержания обоих типов клиента.

Седьмой факт: ASP.NET легко развёртывается и конфигурируется

Процедура развёртывания приложения ASP.NET в общем подразумевает всего лишь копирование всех файлов в виртуальный каталог на производственном сервере (с помощью программы FTP или даже утилиты командной строки XCOPY). Если на машине-хосте установлен компонент .NET Framework, выполнять какие-либо трудоёмкие шаги по регистрации не потребуется.

Процедура распространения компонентов, используемых приложением, выглядит столь же просто и предполагает всего лишь копирование сборок компонентов вместе с файлами Web-сайта на этапе развёртывания Web-приложения. Поскольку вся информация о компоненте хранится прямо в метаданных файла сборки, запускать программу регистрации или вносить изменения с системный реестр Windows не требуется. При условии размещения компонентов в “правильном месте” (каковым является подкаталог bin внутри основного каталога Web-приложения), механизм ASP.NET автоматически обнаруживает их и делает доступными для кода Web-страницы.

Конфигурирование является ещё одной задачей, связанной с развёртыванием приложения, в особенности при необходимости передачи информации о безопасности, такой как учётная запись и привилегии пользователя. ASP.NET упрощает процесс развертывания, сводя к минимуму зависимость от настроек IIS (Internet Information Services — информационные службы Internet). Вместо этого большинство установок ASP.NET хранится в специальном файле web.config. Файл web.config помещается в тот же каталог, что и Web-страницы. Он содержит иерархически сгруппированные настройки приложения, хранимые в удобочитаемом формате XML, который можно редактировать с использованием простого текстового редактора, подобного Notepad. При изменении настройки приложения ASP.NET замечает это изменение и перезапускает приложение в новом домене приложения (поддерживая существующий домен приложения вплоть до завершения обработки каких-то невыполненных запросов). Файл web.config никогда не блокируется, поэтому его можно обновлять в любое время.



Больше информации читайте по теме:

IIS7 - регистрация HttpModule в web.config для работы на хостинге
Форма подписчиков для Mailchimp
6 видео-уроков по технологие ASP.NET MVC
ASP.NET - рассылка писем (SMTP)
Adrotator - внедряем рекламу на страничку *.aspx.
ASP.NET - сортировка DropDownList
ASP.NET слежение строки GridView за курсором мыши
Использование Repeater в ASP.NET c# (вывод статьи и комментариев в HeaderTemplate и ItemTemplate)
ASP.NET: Доступ к серверным элементам управления на клиенте. Управление видимостью серверных контролов на стороне клиента с помощью JavaScript
ASP.NET - Программное изменение активной даты в контроле Calendar на с#
ASP.NET - использование Repeater с ObjectDataSource для вывода статей
c# - сортировка в GridView по нескольким столбцам
Вставка в GridView промежуточных (дополнительных) строк средствами c# (событие RowDataBound)
Получение объекта SessionState в обработчике запросов .ashx
Cross-Page Posting: Межстраничная отправка данных средствами ASP.NET (передача данных между страницами .aspx)
Динамическая генерация (автоматическое формирование) пути изображения с помощью хендлера .ashx
Скрытие пути изображения (защита изображения) ASP.NET
Установка капчи на сайте ASP.NET
Вставка (внедрение, подключение) кода JavaScript в страницу (разметку) ASP.NET
Отображение данных в GridView используя SqlDataSource
Типы проектов ASP.NET – Web Site и WebApplication



Оценить статью:

Оценивая статью, Вы подсказываете нам насколько данная информация стала полезной именно для Вас. Мы ожидаем, прежде всего, оценку доступности материала для понимания и простоты его изложения. Дополнительные комментари, вопросы, дополнения и замечания Вы можете указать на странице От Вас

Частичное, или полное копирование материала данной статьи возможно лишь при размещении ссылки на данную страницу.


            
        


        Кирилл    19.03.2010 18:58:12
        

Классная Статья!!!!!!!!!!


        Александр Рубанов    30.03.2010 22:57:08
        

Спасибо Кирилл! Мне очень приятно. Буду стараться и дальше.


        shax    03.07.2010 10:04:58
        

Хорошая Статья !!!


        Тоха    20.02.2011 23:38:49
        

Разрабатываю приложение на ASP.NET, с функциями и прочим кодингом всё впорядке, а вот с дизайном просто беда, хотел спросить, в аспе лучше на таблицах всё делать?

62.220.63.74




Имя:  


Текст комментариев (не больше 600 знаков):  
введите не более 600 знаков



Введите символы с картинки:
Капча имеет "срок годности". Поэтому, если необходимо обновите страницу.



Черный список покупателей
c# курс Гудок   курс по ASP.NET Гудок   курс по ADO.NET Гудок   курс по XML txt Гудок   курс по рефлексии и многопоточности Гудок