Microsoft asp net mvc 2 что это за программа и нужна

Microsoft asp net mvc 2 что это за программа и нужна

Установка .NET Framework 3.5 с помощью DISM: dism /online /enable-feature /featurename:NetFX3 /All /Source: d: sourcessxs /LimitAccess
в командной строке с правами Администратора (предварительно правильно указав имя установочного диска) — актуально для Win 8.1, 10 и 11; WinSrv 2016, 2019, 2022

Updates .NET Framework 3.5 SP1 for Win 7 SP1 на Август 2022 г.: KB4040980 и x86; KB2836942 и x86; KB2836943-v2 и x86; KB2604115 и x86; KB2656356 и x86; KB2729452 и x86; KB2736422 и x86; KB2742599 и x86; KB2789645 и x86; KB2840631 и x86; KB2861698 и x86; KB2894844 и x86; KB2911501 и x86; KB2931356 и x86; KB2937610 и x86; KB2943357 и x86; KB2968294 и x86; KB2972100 и x86; KB2972211 и x86; KB2973112 и x86; KB2978120 и x86; KB3023215 и x86; KB3037574 и x86; KB3072305 и x86; KB3074543 и x86; KB3097989 и x86; KB3122648 и x86; KB3127220 и x86 в том порядке, который предлагает Windows Update.
За один сеанс возможно установить все обновления 3.5 SP1 и установить .NET 4.8, перезагрузка и обновления .NET 4.8.

Что нужно знать, чтобы стать ASP.NET MVC разработчиком?

Updates .NET Framework 4.8 for Win 7: KB4532945 или х86 — 2020-01 Security and Quality Rollup for .NET Framework 4.8

.NET Framework 4.8.1 Installer (9 August 2022 — ?); Release Notes; возможна установка на Win 10 20H2+ и Win Server 2022+; LangPack
Версия 4.8.1 не включает в себя предыдущие версии (1.0, 1.1, 2.0, 3.0, 3.5, 4.8), требует наличия 4.8 при установке и не заменяет их.
Ситуация по системам (Preinstalled with the OS):

Win 98 SE и Win Me — .NET Framework 2.0 , 1.1 SP1
Win 2000 SP4 (—) — .NET Framework 2.0 SP2 , 1.1 SP1
Win XP SP3 (.NET Framework 1.0) — .NET Framework 4.0 , 3.5 SP1 (3.0 SP2, 2.0 SP2), 1.1 SP1
Win Vista SP2 (.NET Framework 3.0) — .NET Framework 4.6 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win 7 SP1 (.NET Framework 3.5) — .NET Framework 4.8 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win 8 (.NET Framework 4.5) — .NET Framework 4.6.1 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win 8.1 (.NET Framework 4.5.1) — .NET Framework 4.8 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win 10 21H2+ (.NET Framework 4.8) — .NET Framework 4.8.1, .NET Framework 4.8 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win 11 (.NET Framework 4.8) — .NET Framework 4.8.1, .NET Framework 4.8 , 3.5 SP1 (3.0 SP2, 2.0 SP2)

Win Srv 2003 (.NET Framework 1.1) — .NET Framework 4.0 , 3.5 SP1 (3.0 SP2, 2.0 SP2), 1.1 SP1
Win Srv 2008 SP2 .NET Framework 2.0) — .NET Framework 4.6.2 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win Srv 2008 R2 SP1 (.NET Framework 2.0) — .NET Framework 4.8 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win Srv 2012 R2 (.NET Framework 4.5.1) — .NET Framework 4.8 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win Srv 2016 (.NET Framework 4.6.2) — .NET Framework 4.8 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win Srv 2019 (.NET Framework 4.7.2) — .NET Framework 4.8 , 3.5 SP1 (3.0 SP2, 2.0 SP2)
Win Srv 2022 (.NET Framework 4.8) — .NET Framework 4.8.1, .NET Framework 4.8 , 3.5 SP1 (3.0 SP2, 2.0 SP2)

Изучение ASP.NET Core MVC / #2 — Настройки проекта


Утилиты для проверки корректности установки и удаления .NET Framework: Framework Setup Verification Utility и Framework Setup Cleanup Utility

Microsoft .NET

Microsoft .NET — следующее поколение платформы, объединяющее предыдущие разработки в отдельный вид. .NET Desktop Runtime служит для запуска настольных приложений, включает .NET Runtime для запуска консольных приложений. ASP.NET Core Runtime служит для запуска web/серверных приложений.
Кроме этого, существует .NET Core 3.1.x , развивавшийся отдельно от Microsoft .NET Framework.
График выпуска .NET предусматривает выпуск финальных версий каждый ноябрь. | Репозиторий на GitHub.

Version Release Date Support Latest Patch Version End of Support
.NET 7 December, 2022 STS 7.0.1 May 14, 2024
.NET 6 November, 2021 LTS 6.0.12 November 12, 2024
.NET Core 3.1 December 3, 2019 LTS 3.1.32 December 13, 2022
.NET 5 May 6th, 2019 Out TS 5.0.17 May 10, 2022

Microsoft .NET 5.0.17 окончание поддержки 10.05.2022 ( x86 / x64 / ARM64 ) + вводная статья + системные требования и дополнительные требования
Версия 5.0 не включает в себя предыдущие версии, не требует и не заменяет их при установке.
Microsoft .NET 6.0.12 системные требования Run console apps with .NET Runtime / x86 / Arm64; Run desktop apps with .NET Desktop Runtime / x86 / Arm64;
Run server apps with .NET Runtime and ASP.NET Core Runtime возможна установка на Win 7 SP1 with Extended Security Updates; 8.1; 10 1607+; 11; WinSrv 2012+

Версия 6.0 не включает в себя предыдущие версии, не требует и не заменяет их при установке.
Microsoft .NET 7.0.1 системные требования Run console apps with .NET Runtime / x86 / Arm64; Run desktop apps with .NET Desktop Runtime / x86 / Arm64;
Run server apps with .NET Runtime and ASP.NET Core Runtime возможна установка на Win 7 SP1 with Extended Security Updates; 8.1; 10 1607+; 11; WinSrv 2012+

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
Читайте также:
Хуавей шаре что это за программа и нужна ли она

Источник: forum.ru-board.com

ASP.NET MVC Урок 1. Начало

ASP.NET MVC Урок 1. Начало

2013-04-09 в 18:56, admin , рубрики: .net, ASP, asp.net mvc, метки: .net, asp.net mvc

Цель урока: Изучить Global.asax и поведение запуска веб-приложения, обработки веб-запроса. Изучение Nuget и Подключение протоколирования.

Начало

Создадим приложение ASP.NET MVC 4 Web Application «Lesson1» (рис 1.):

ASP.NET MVC Урок 1. Начало

ASP.NET MVC Урок 1. Начало

Не будем запускать приложение, а сразу установим (если до этого не сделали) NuGet расширение:

ASP.NET MVC Урок 1. Начало

NuGet Package Manager – это расширение для Visual Studio, которое позволяет добавлять в существующие проекты модули, которые значительно упрощают работу. При создании «Basic» asp.net mvc4 приложения в само приложение было добавлено изначально много модулей. Их список мы можем найти, кликнув в Manage NuGet Packages… в контекстном меню проекта:

ASP.NET MVC Урок 1. Начало

ASP.NET MVC Урок 1. Начало

О них по порядку:

  • Entity Framework – обеспечивает работу с БД
  • jQuery (+ jQuery UI, jQuery Validation) – популярный javascript framework (о нем еще пойдет речь позже).
  • Json.NET – классы для работы с json-форматом данных.
  • knockoutjs – javascript библиотека для работы с Model View ViewModel архитектурой. (http://knockoutjs.com/)
  • Microsoft.Net Framework 4 Http Client Libraries – программный интерфейс для работы с HttpContext-ом.
  • Microsoft ASP.NET MVC 4 – собственно, классы паттерна проектирования MVC (то, что есть предметом изучения)
  • Microsoft ASP.NET Razor 2 – view-движок. Есть еще ASPX и Spark – мы о них также будем говорить позже
  • Microsoft ASP.NET Universal Providers Core Libraries (Microsoft ASP.NET Universal Providers for LocalDB) – предоставляет инструменты для поддержки всех SQL Server 2005 (и более поздних) и для SQL Azure.
  • Microsoft ASP.NET Web API (Microsoft ASP.NET Web API Client Libraries, Microsoft ASP.NET Web API Core Libraries, Microsoft ASP.NET Web API Web Host) – для создания REST приложений, работа с XML, JSON и так далее
  • Microsoft ASP.NET Web Optimization Framework – оптимизирует передачу данных, например, минимизирует js-код
  • Microsoft ASP.NET WebPages 2 – набор классов для работы во View
  • Microsoft jQuery Unobtrusive Ajax (Microsoft jQuery Unobtrusive Validation) – jQuery библиотека для поддержки ненавящевой ajax/валидации
  • Microsoft.Web.Infrastructure – позволяет динамически регистрировать HTTP-модули во время выполнения
  • Modernizr – js-библиотека, которая позволяет использовать html5 и css3 в старых браузерах
  • WebGrease – позволяет минифицировать html, css, js.

Теперь, когда мы примерно прикинули, из чего состоит наше приложение, давайте запустим его.
Для этого необходимо создать HomeController:

ASP.NET MVC Урок 1. Начало

ASP.NET MVC Урок 1. Начало

Для метода (действия) Index добавим View и выберем ~Views/Shared/_Layout.cshtml в качестве layout (типа master page):

ASP.NET MVC Урок 1. Начало

ASP.NET MVC Урок 1. Начало

Собственно, можем запускать.
Всё что мы увидим – это:

ASP.NET MVC Урок 1. Начало

Почему контроллер надо было назвать именно Home и как это работает, мы будем изучать более подробно в следующих уроках.

Global.asax

А сейчас обратим внимание на файл Global.asax:

public class MvcApplication : System.Web.HttpApplication < protected void Application_Start() < AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); >>

Класс MvcApplication наследует HttpApplication и содержит инструкции для инициализации приложения. Есть еще несколько событий, на которые можно добавить код. Рассмотрим их:

  • public void Init() – приложение инициализируется или при первом вызове. Оно вызывается для всех экземпляров объекта HttpApplication.
  • public void Dispose() – вызывается непосредственно перед уничтожением объекта HttpApplication. Это идеальное место для очистки ранее используемых ресурсов.
  • Application_Error – наступает, когда необработанное исключение случается в приложении.
  • Application_Start – наступает, когда первый экземпляр HttpApplication создается. Это позволяет создавать объекты доступные для всех экземпляров класса HttpApplication.
  • Application_End – наступает, когда все созданные ранее экземпляры класса HttpApplication уничтожены. Это событие наступает только однажды в течение всего времени жизни приложения.
  • Application_BeginRequest – наступает, когда приложение получает запрос. Первый раз это событие наступает для запроса страницы, когда пользователь вводит URL.
  • Application_EndRequest – Последнее событие, которое наступает для запроса к приложению.
  • Application_PreRequestHandlerExecute – наступает прежде, чем ASP.NET запустит обработчик страницы или веб-службу.
  • Application_PostRequestHandlerExecute – наступает, когда ASP.NET заканчивает обработку.
  • Applcation_PreSendRequestHeaders – наступает перед тем, как ASP.NET посылает клиенту (браузеру) HTTP заголовки.
  • Application_PreSendContent – наступает перед тем, как ASP.NET посылает клиенту (браузеру) HTTP содержимое.
  • Application_AcquireRequestState – наступает, когда ASP.NET получает текущее состояние (состояние сессии), связанное с текущим запросом.
  • Application_ReleaseRequestState – наступает, когда ASP.NET завершает исполнение всех событий. В результате все модули сохраняют свои текущие состояния.
  • Application_ResolveRequestCache – наступает, когда ASP.NET выполняет запрос авторизации. Это позволяет модулям кеширования обработать запрос и обслужить из кэша, минуя обработчик выполнения.
  • Application_UpdateRequestCache – наступает, когда ASP.NET завершает выполнение обработчика, чтобы модули кеширования могли сохранить результат для использования в последующих ответах.
  • Application_AuthenticateRequest – наступает, когда модуль идентификации устанавливает личность текущего пользователя как действительную. В текущий момент, учетные данные пользователя уже проверены.
  • Application_AuthorizeRequest – наступает, когда модуль авторизации подтверждает, что пользователь может иметь доступ к ресурсам.
  • Session_Start – наступает, когда новый пользователь заходит на сайт.
  • Session_End – наступает, когда истекает время сессии пользователя, или он покидает сайт.

Хорошо. Теперь, чтобы воочию убедимся, что всё именно так и происходит, добавим протоколирование и сделаем это через добавление NLog модуля в NuGet.

Package Manager Console

В NuGet есть консоль для выполнения команд по установкеудалениюпоиску модулей, и других вещей, типа скаффолдинга.
Для вывода всех установленных модулей пишем:

Get-Package

Для получения всех доступных к установке модулей:

Get-Package –ListAvailable

Для получения всех доступных модулей с названием NLog

Get-Package -ListAvailable -Filter NLog
Get-Package -ListAvailable | where (это дольше)

Для установки модуля NLog необходимо вначале выбрать проект (если их в солюшене больше одного) и ввести команду:

Install-Package NLog

ASP.NET MVC Урок 1. Начало

Файлы копируются в проект, добавляются ссылки на сборки и web.config может быть обновлен.
Для удаления из проекта модуля необходимо, чтобы он не был связан с другими модулями. Удаляем так:

Читайте также:
Что за программа acer power management

Uninstall-Package NLog

NLog

После установки пользуемся документацией на NLog (http://nlog-project.org/wiki/Tutorial) и добавляем в Web.config:

Мы ее потом исправим. Добавим в код (Global.asax.cs):

protected void Application_Start() < logger.Info(«Application Start»); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); >public void Init() < logger.Info(«Application Init»); >public void Dispose() < logger.Info(«Application Dispose»); >protected void Application_Error() < logger.Info(«Application Error»); >protected void Application_End()

Запустим и завершим приложение (Stop). Откроем файл C://file.txt. Мы увидим, какие события происходили.

2012-09-18 19:18:11.5668|INFO|Lesson1.MvcApplication|Application Start 2012-09-18 19:18:13.7319|INFO|Lesson1.MvcApplication|Application Init 2012-09-18 19:18:14.2709|INFO|Lesson1.MvcApplication|Application Init 2012-09-18 19:18:14.2769|INFO|Lesson1.MvcApplication|Application BeginRequest 2012-09-18 19:18:14.3579|INFO|Lesson1.MvcApplication|Application AuthenticateRequest 2012-09-18 19:18:14.3579|INFO|Lesson1.MvcApplication|Application AuthorizeRequest 2012-09-18 19:18:14.3579|INFO|Lesson1.MvcApplication|Application ResolveRequestCache 2012-09-18 19:18:14.3989|INFO|Lesson1.MvcApplication|Session Start 2012-09-18 19:18:14.3989|INFO|Lesson1.MvcApplication|Application AcquireRequestState 2012-09-18 19:18:14.3989|INFO|Lesson1.MvcApplication|Application PreRequestHandlerExecute 2012-09-18 19:18:15.9580|INFO|Lesson1.MvcApplication|Application PreRequestHandlerExecute 2012-09-18 19:18:15.9580|INFO|Lesson1.MvcApplication|Application ReleaseRequestState 2012-09-18 19:18:15.9580|INFO|Lesson1.MvcApplication|Application UpdateRequestCache 2012-09-18 19:18:15.9580|INFO|Lesson1.MvcApplication|Application EndRequest 2012-09-18 19:18:15.9580|INFO|Lesson1.MvcApplication|Application PreSendRequestHeaders 2012-09-18 19:18:35.6061|INFO|Lesson1.MvcApplication|Session End 2012-09-18 19:18:38.0833|INFO|Lesson1.MvcApplication|Application Dispose 2012-09-18 19:18:38.0833|INFO|Lesson1.MvcApplication|Application End 2012-09-18 19:18:39.1383|INFO|Lesson1.MvcApplication|Application Dispose

В Application_Start выполняется регистрация:

  • Area (области),
  • Filter (фильтры),
  • Bundle (комплекты),
  • Route (маршруты).

Подробности по инициализации Filter, Вundle и Route находятся в папке App_Start.

WebActivator

WebActivator – это модуль, который позволяет запустить код до самого первого старта App_Start. Это может быть необходимо для того, чтобы, к примеру, создать тестовую БД перед запуском.
Установим:

Install-Package WebActivator

Добавим класс в App_Start папку:

[assembly: WebActivator.PreApplicationStartMethod(typeof(PreStartApp), «Start»)] namespace Lesson1.App_Start < public static class PreStartApp < private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); /// /// Метод запускается один раз перед стартом приложения /// public static void Start() < logger.Info(«Application PreStart»); >> >

В файле логов увидим, что строка Application PreStart исполняется раньше Application Start:

2012-09-19 10:29:01.3950|INFO|Lesson1.App_Start.PreStartApp|Application PreStart 2012-09-19 10:29:01.6290|INFO|Lesson1.MvcApplication|Application Start

Создадим четыре файла отдельно для trace (трассировки), debug (отладки), info (информации), error (ошибки). Определим место записи: /Contents/logs/[текущая дата] Перепишем конфигурацию:

/Content/logs/$» /> /trace.txt» /> /debug.txt» /> /info.txt» /> /errors.txt» />

Log2Console

Для NLog есть еще классная программа Log2Console, которая позволяет получать логи прямо в окне программы.

ASP.NET MVC Урок 1. Начало

Запускаем программу и настраиваем приемщик:

ASP.NET MVC Урок 1. Начало

В Web.config пишем:

Обращаю внимание, что писать надо address=”tcp4://…”, а не address=”tcp://…”

Источник: www.pvsm.ru

Microsoft asp net mvc 2 что это за программа и нужна

В этой публикации я надеюсь начать цикл повествований по разработке ASP.NET MVC приложения на .NET Core без использования Visual Studio. Для разработки приложения я буду использовать VS Code (по сути навороченный текстовый редактор), и больше ничего.

Начну я с создания пустого проекта и последовательного добавления в проект Контроллера, Представления и Модели, с постепенным включением в проект необходимых библиотек.

Поскольку сам я это делаю впервые, то могу местами ошибаться или нести какую нибудь «чушь» :), поэтому заранее приношу извинения за возможно не «кошерный» код или некорректное описание чего либо. Обещать могу лишь одно, приведенные примеры гарантированно работоспособны.

Итак Начнем. Первая публикация будет посвящена созданию ASP.NET Core MVC проекта и добавлению в него Контроллера.

Для начала, если вы этого ещё не сделали, установите .NET Core SDK и (если не хотите писать в блокноте) Visual Studio Code, всё это добро можно взять здесь: .NET Core SDK namespace ConsoleApplication < public class Program < public static void Main(string[] args) < Console.WriteLine(«Hello World!»); >> >

«project.json» — Описание и зависимости

< «version»: «1.0.0-*», «buildOptions»: < «debugType»: «portable», «emitEntryPoint»: true >, «dependencies»: <>, «frameworks»: < «netcoreapp1.0»: < «dependencies»: < «Microsoft.NETCore.App»: < «type»: «platform», «version»: «1.0.0» >>, «imports»: «dnxcore50» > > >

Первым делом добавляем Kerstel в «project.json» (это кросплатформенный Веб сервер).
Для этого надо добавить строчку «Microsoft.AspNetCore.Server.Kestrel»:«1.0.0»
После изменений файл «project.json» будет выглядеть так:

< «version»: «1.0.0-*», «buildOptions»: < «debugType»: «portable», «emitEntryPoint»: true >, «dependencies»: <>, «frameworks»: < «netcoreapp1.0»: < «dependencies»: < «Microsoft.NETCore.App»: < «type»: «platform», «version»: «1.0.0» >, «Microsoft.AspNetCore.Server.Kestrel»:»1.0.0″ >, «imports»: «dnxcore50» > > >

Добавляем в наш проект, к двум уже имеющимся, ещё один файл «Startup.cs» с содержимым:

using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; namespace MyTest < public class Startup < public void Configure(IApplicationBuilder app, IHostingEnvironment env) < app.Run( context => ); > > >

И изменяем файл «Program.cs»:

using Microsoft.AspNetCore.Hosting; namespace MyTest < public class Program < public static void Main(string[] args) < var host = new WebHostBuilder() .UseKestrel() .UseStartup() .Build(); host.Run(); > > >

На этом этапе уже можно запустить наш проект, для этого выполняем последовательно из командной строки:

dotnet restore dotnet run

ASP.NET Core MVC Example 1

Открываем браузер и смотрим что получилось по адресу: localhost:5000

Теперь добавим в наш проект контроллер.

Для этого ещё раз изменим «project.json» добавив «Microsoft.AspNetCore.Mvc»:«1.0.0»:

< «version»: «1.0.0-*», «buildOptions»: < «debugType»: «portable», «emitEntryPoint»: true >, «dependencies»: <>, «frameworks»: < «netcoreapp1.0»: < «dependencies»: < «Microsoft.NETCore.App»: < «type»: «platform», «version»: «1.0.0» >, «Microsoft.AspNetCore.Server.Kestrel»:»1.0.0″, «Microsoft.AspNetCore.Mvc»:»1.0.0″ >, «imports»: «dnxcore50» > > >

Добавим в наш проект папку Controllers и создадим в ней файл MyTestController.cs с содержимым:

using Microsoft.AspNetCore.Mvc; namespace MyTest.Controllers < public class SayHelloController:Controller < public string Index() < return «Первое сообщение из Контроллера. «; >public string Hello() < return «Привет мир. «; >> >

Содержимое файла «Startup.cs» изменим следующим образом:

using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; namespace MyTest < public class Startup < public void ConfigureServices(IServiceCollection services) < services.AddMvc(); >public void Configure(IApplicationBuilder app, IHostingEnvironment env) < app.UseMvc(routes =>< routes.MapRoute( name: «default», template: «//» ); >); > > >

Мне кажется в последних действиях пояснения излишни, код простой и понятный, включены в основном только необходимые зависимости. В целом ничем не отличается от стандартного ASP.NET MVC.

dotnet restore dotnet run

ASP.NET Core MVC Example 2

Открываем браузер и смотрим что получилось по адресам: «localhost:5000/SayHello» и «localhost:5000/SayHello/Hello»

ASP.NET Core MVC Example 3

На этом пока всё.
Рабочий исходник примера можно скачать здесь: Sample001s.zip

Источник: babakov.net

ASP.NET MVC Урок 1. Начало

Цель урока: Изучить Global.asax и поведение запуска веб-приложения, обработки веб-запроса. Изучение Nuget и Подключение протоколирования.

Читайте также:
Коалиционная программа что это
Начало

Создадим приложение ASP.NET MVC 4 Web Application «Lesson1» (рис 1.):

Не будем запускать приложение, а сразу установим (если до этого не сделали) NuGet расширение:

NuGet Package Manager — это расширение для Visual Studio, которое позволяет добавлять в существующие проекты модули, которые значительно упрощают работу. При создании «Basic» asp.net mvc4 приложения в само приложение было добавлено изначально много модулей. Их список мы можем найти, кликнув в Manage NuGet Packages… в контекстном меню проекта:

О них по порядку:

  • Entity Framework — обеспечивает работу с БД
  • jQuery (+ jQuery UI, jQuery Validation) — популярный javascript framework (о нем еще пойдет речь позже).
  • Json.NET — классы для работы с json-форматом данных.
  • knockoutjs — javascript библиотека для работы с Model View ViewModel архитектурой. (http://knockoutjs.com/)
  • Microsoft.Net Framework 4 Http Client Libraries — программный интерфейс для работы с HttpContext-ом.
  • Microsoft ASP.NET MVC 4 — собственно, классы паттерна проектирования MVC (то, что есть предметом изучения)
  • Microsoft ASP.NET Razor 2 — view-движок. Есть еще ASPX и Spark — мы о них также будем говорить позже
  • Microsoft ASP.NET Universal Providers Core Libraries (Microsoft ASP.NET Universal Providers for LocalDB) — предоставляет инструменты для поддержки всех SQL Server 2005 (и более поздних) и для SQL Azure.
  • Microsoft ASP.NET Web API (Microsoft ASP.NET Web API Client Libraries, Microsoft ASP.NET Web API Core Libraries, Microsoft ASP.NET Web API Web Host) — для создания REST приложений, работа с XML, JSON и так далее
  • Microsoft ASP.NET Web Optimization Framework — оптимизирует передачу данных, например, минимизирует js-код
  • Microsoft ASP.NET WebPages 2 — набор классов для работы во View
  • Microsoft jQuery Unobtrusive Ajax (Microsoft jQuery Unobtrusive Validation) — jQuery библиотека для поддержки ajax/валидации
  • Microsoft.Web.Infrastructure — позволяет динамически регистрировать HTTP-модули во время выполнения
  • Modernizr — js-библиотека, которая позволяет использовать html5 и css3 в старых браузерах
  • WebGrease — позволяет минифицировать html, css, js.

Теперь, когда мы примерно прикинули, из чего состоит наше приложение, давайте запустим его.
Для этого необходимо создать HomeController:

Для метода (действия) Index добавим View и выберем ~Views/Shared/_Layout.cshtml в качестве layout (типа master page):

Собственно, можем запускать.
Всё что мы увидим — это:

Почему контроллер надо было назвать именно Home и как это работает, мы будем изучать более подробно в следующих уроках.

Global.asax

А сейчас обратим внимание на файл Global.asax:

public class MvcApplication : System.Web.HttpApplication < protected void Application_Start() < AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); >>
Класс MvcApplication наследует HttpApplication и содержит инструкции для инициализации приложения. Есть еще несколько событий, на которые можно добавить код. Рассмотрим их:

  • public void Init() — приложение инициализируется или при первом вызове. Оно вызывается для всех экземпляров объекта HttpApplication.
  • public void Dispose() — вызывается непосредственно перед уничтожением объекта HttpApplication. Это идеальное место для очистки ранее используемых ресурсов.
  • Application_Error — наступает, когда необработанное исключение случается в приложении.
  • Application_Start — наступает, когда первый экземпляр HttpApplication создается. Это позволяет создавать объекты доступные для всех экземпляров класса HttpApplication.
  • Application_End — наступает, когда все созданные ранее экземпляры класса HttpApplication уничтожены. Это событие наступает только однажды в течение всего времени жизни приложения.
  • Application_BeginRequest — наступает, когда приложение получает запрос. Первый раз это событие наступает для запроса страницы, когда пользователь вводит URL.
  • Application_EndRequest — Последнее событие, которое наступает для запроса к приложению.
  • Application_PreRequestHandlerExecute — наступает прежде, чем ASP.NET запустит обработчик страницы или веб-службу.
  • Application_PostRequestHandlerExecute — наступает, когда ASP.NET заканчивает обработку.
  • Applcation_PreSendRequestHeaders — наступает перед тем, как ASP.NET посылает клиенту (браузеру) HTTP заголовки.
  • Application_PreSendContent — наступает перед тем, как ASP.NET посылает клиенту (браузеру) HTTP содержимое.
  • Application_AcquireRequestState — наступает, когда ASP.NET получает текущее состояние (состояние сессии), связанное с текущим запросом.
  • Application_ReleaseRequestState — наступает, когда ASP.NET завершает исполнение всех событий. В результате все модули сохраняют свои текущие состояния.
  • Application_ResolveRequestCache — наступает, когда ASP.NET выполняет запрос авторизации. Это позволяет модулям кеширования обработать запрос и обслужить из кэша, минуя обработчик выполнения.
  • Application_UpdateRequestCache — наступает, когда ASP.NET завершает выполнение обработчика, чтобы модули кеширования могли сохранить результат для использования в последующих ответах.
  • Application_AuthenticateRequest — наступает, когда модуль идентификации устанавливает личность текущего пользователя как действительную. В текущий момент, учетные данные пользователя уже проверены.
  • Application_AuthorizeRequest — наступает, когда модуль авторизации подтверждает, что пользователь может иметь доступ к ресурсам.
  • Session_Start — наступает, когда новый пользователь заходит на сайт.
  • Session_End — наступает, когда истекает время сессии пользователя, или он покидает сайт.

Хорошо. Теперь, чтобы воочию убедимся, что всё именно так и происходит, добавим протоколирование и сделаем это через добавление NLog модуля в NuGet.

Package Manager Console

В NuGet есть консоль для выполнения команд по установкеудалениюпоиску модулей, и других вещей, типа скаффолдинга.
Для вывода всех установленных модулей пишем:
Get-Package
Для получения всех доступных к установке модулей:
Get-Package -ListAvailable
Для получения всех доступных модулей с названием NLog
Get-Package -ListAvailable -Filter NLog
Или
Get-Package -ListAvailable / where (это дольше)
Для установки модуля NLog необходимо вначале выбрать проект (если их в солюшене больше одного) и ввести команду:
Install-Package NLog

Файлы копируются в проект, добавляются ссылки на сборки и web.config может быть обновлен.
Для удаления из проекта модуля необходимо, чтобы он не был связан с другими модулями. Удаляем так:

NLog

После установки пользуемся документацией на NLog (http://nlog-project.org/wiki/Tutorial) и добавляем в Web.config:

  • Area (области),
  • Filter (фильтры),
  • Bundle (комплекты),
  • Route (маршруты).

Подробности по инициализации Filter, Вundle и Route находятся в папке App_Start.

WebActivator

WebActivator — это модуль, который позволяет запустить код до самого первого старта App_Start. Это может быть необходимо для того, чтобы, к примеру, создать тестовую БД перед запуском.
Установим:

Install-Package WebActivator
Добавим класс в App_Start папку:

Log2Console

Для NLog есть еще классная программа Log2Console, которая позволяет получать логи прямо в окне программы.

Запускаем программу и настраиваем приемщик:

Источник: www.olap.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru