В этой статье я расскажу вам о последней версии ASP.Net, т.е. ASP.Net vNext, и расскажу о некоторых основных характеристиках, а также о некоторых параметрах инструментов командной строки, которые позволяют разработчикам создавать, запускать приложения ASP.NET и управлять ими.
ASP.Net vNEXT
ASP.Net vNext — это следующая версия ASP.Net, которая содержит некоторые значительные изменения по сравнению с ASP.NET. Это открытый исходный код и подпадает под .Net Foundation. Теперь разработчики могут внести свой вклад и получить клон с https://github.com/aspnet
Основные характеристики ASP.Net vNEXT
- Единая модель программирования для веб-сайтов (MVC, веб-страниц) и сервисов (веб-API). Больше нет базового класса APIController для Web API и унифицированного класса Controller, который обслуживает как MVC Controller, так и Web API Controller.
- Представлен файл Project.json, в котором разработчики могут определять сборки, а затем версии, команды и версии ASP.Net. Сборки разрешаются Visual Studio CTP 14 сразу после сохранения файла и его загрузки через NuGet. С другой стороны, если вы работаете в среде, отличной от Visual Studio, вы можете использовать команду восстановления KPM из командной строки для загрузки зависимостей.
- Нет зависимости от System.Web.dll.
- ASP.Net vNEXT — это оптимизированная для облака среда, которая более надежна и меньше по размеру. Полная версия .Net составляет около 200 МБ, а оптимизированная для облака — всего 11 МБ.
- Динамическая компиляция — это большая функция, предоставляемая в Roslyn (.Net Compiler Platform). Теперь разработчики могут изменять код и обновлять браузер, не создавая весь проект.
- Параллельная поддержка для развертывания собственной версии .NET Framework с каждым приложением. Каждое приложение имеет свою собственную версию .net framework, работающую бок о бок на одной машине.
В ASP.Net vNext у вас есть возможность запускать, компилировать и управлять версиями приложений и т. Д., Используя различные параметры инструментов командной строки. Прежде всего, чтобы настроить среду для выполнения команд KVM, KPM и K, вы должны выполнить приведенный ниже скрипт powershell.
@powershell -NoProfile -ExecutionPolicy unresricted -Command «iex ((новый объект net.webclient) .DownloadString (‘ https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.ps1′ ;))»
Ниже приведены инструменты командной строки, которые предоставляет ASP.NET vNext.
- KRE (K Runtime)
- KVM (K Version Manager)
- KPM (K Package Manager)
- K (для запуска команд)
Что такое KRE (K Runtime)?
K Runtime содержит инструменты SDK, систему компиляции и хосты CLR. Это фактическая среда выполнения ASP.Net vNext, которую Visual Studio сама использует для предоставления intellisense, ошибок компиляции и т. Д.
Что такое KVM (K Version Manager)?
KVM расшифровывается как K Version Manager . Это используется для получения K Runtime (KRE) для размещения приложений ASP.Net vNext. Это также позволяет управлять версией по умолчанию для каждого приложения. KVM необходим, если вы хотите самостоятельно разместить приложение ASP.Net vNext и запустить веб-прослушиватель с собственным хостом с помощью инструмента командной строки.
Вы можете установить KVM, выполнив эту команду через командную строку
KVM установить 1.0.0-alpha4
При установке KVM все файлы kvm копируются в каталог текущего пользователя, т.е. в папку % windir%: \ Users \% username% \. Kre . Он также помещает переменные среды в Windows PATH, чтобы вы могли выполнять команды, не обращаясь к пути к папке KVM.
Некоторые широко используемые команды KVM
- квм апгрейд
Проверяет последнюю версию KRE, если она доступна, и устанавливает ее на компьютер
По умолчанию у нас работает полная .Net Framework, но вы можете перейти на облачную оптимизацию, используя обновление kvm — runtime CoreCLR
- список квм
Для отображения установленной версии KRE * обозначает активную версию, и вы можете выбрать другую версию в зависимости от приложения, используя команду kvm use version.
Что такое KPM (K Package Manager)?
KPM — это инструмент K Package Manager, который вы можете использовать после установки KVM. С помощью этого инструмента йо
- восстановление в минуту
Чтобы восстановить пакеты, определенные в файле project.json вашего приложения ASP.Net vNext.
Что такое К?
K — инструмент командной строки для запуска приложения ASP.Net vNext. Вы можете использовать K run, чтобы запустить прослушиватель HTTP для прослушивания входящего запроса, указанного в файле project.json.
- к веб
Давайте сделаем некоторые действия!
В этом упражнении мы разработаем простое приложение ASP.Net vNext без использования Visual Studio 14.
- Создайте папку с именем «SampleKProject» на любом диске вашей машины.
- Теперь создайте файл project.json внутри этой папки и скопируйте содержимое ниже.
{ “webroot” : “wwwroot”, “exclude”: “wwwroot/**/*.*”, “dependencies”: { “Microsoft.AspNet.Diagnostics”: “0.1-alpha-build-0682″, “Microsoft.AspNet.Hosting”: “0.1-alpha-build-0572″, “Microsoft.AspNet.Server.WebListener”: “0.1-alpha-build-0520″ }, “commands”: { “web”: “Microsoft.AspNet.Hosting –server Microsoft.AspNet.Server.WebListener –server.urls http://localhost:8090″ }, “frameworks”: { “aspnet50″: {}, “aspnetcore50″: {} } }
- Если вы видите project.json, есть несколько разделов, а именно webroot, зависимости, exclude, команды, frameworks и т. Д.
Webroot | Чтобы указать корневую папку веб-сервера, в которую должны быть помещены все статические файлы. В приведенном выше фрагменте кода мы указали wwwroot, что означает, что все статические файлы будут помещены в папку wwwroot . |
зависимости | Укажите имя всех зависимых сборок и информацию о версии. Все зависимости будут загружены с помощью kpm restore и загружены через NuGet . |
исключать | Вы можете указать путь к папке, чтобы исключить файлы из компиляции |
команды | При запуске команды K вы можете передать имя команды для ее выполнения. Например, K web, где web — это имя команды |
рамки | Определить целевые платформы, которые будут построены, или зависимости, специфичные для конфигурации. |
- Теперь создайте файл Startup.cs, который является отправной точкой для приложения ASP.Net vNext. В этом классе вы можете настроить компоненты для конвейера приложения. Класс Startup должен содержать метод с именем « Configure », который принимает IAppBuilder в качестве параметра. Ниже приведен фрагмент кода класса Startup .
using System; using Microsoft.AspNet.Builder; namespace WebApplication5 { public class Startup { public void Configure(IBuilder app) { app.UseWelcomePage(); } } }
- app.useWelcomePage добавляет компонент промежуточного программного обеспечения, который показывает страницу приветствия при навигации по URI
- После создания файлов project.json и Startup.cs откройте командную строку и перейдите в созданную ранее корневую папку, т.е. SampleKProject, и запустите kpm restore . При запуске восстановления kpm он ищет файл project.json и разрешает зависимости, загружая их через NuGet.
- После этого вы можете запустить k web, чтобы запустить веб-прослушиватель с собственным хостом.
Подсказка: веб-сервер можно остановить, нажав Ctrl + C и введя «Y»
- Перейдя по адресу http: // localhost: 8090, вы увидите страницу приветствия, как показано ниже