Статьи

Разработка и самостоятельное размещение простого приложения ASP.Net vNext без Visual Studio

В этой статье я расскажу вам о последней версии 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»