asp.net-coreНачало работы с asp.net-core


замечания

.NET Core - платформа разработки общего назначения, поддерживаемая Microsoft и сообществом .NET на GitHub. Это кросс-платформенный, поддерживающий Windows, macOS и Linux, и может использоваться в сценариях устройств, облачных и встроенных / IoT.

Следующие характеристики наилучшим образом определяют .NET Core:

  • Гибкое развертывание: может быть включено в ваше приложение или установлено бок о бок пользовательский или машинный.
  • Кросс-платформенный: работает в Windows, MacOS и Linux; могут быть перенесены в другие ОС. Поддерживаемые операционные системы (ОС), процессоры и сценарии приложений со временем будут расти, предоставляемые Microsoft, другими компаниями и отдельными лицами.
  • Инструменты командной строки: все сценарии продукта могут выполняться в командной строке.
  • Совместимость: .NET Core совместим с .NET Framework, Xamarin и Mono через стандартную библиотеку .NET.
  • Открытый исходный код: платформа .NET Core является открытым исходным кодом, используя лицензии MIT и Apache 2. Документация лицензируется по CC-BY. .NET Core - это проект .NET Foundation.
  • Поддерживается Microsoft: .NET Core поддерживается Microsoft, для поддержки .NET Core

Версии

Версия Примечания к выпуску Дата выхода
RC1 * 1.0.0-rc1 2015-11-18
RC2 * 1.0.0-RC2 2016-05-16
1.0.0 1.0.0 2016-06-27
1.0.1 1.0.1 2016-09-13
1,1 1,1 2016-11-16

Создайте новый проект из командной строки

Можно создать новый проект ASP.NET Core целиком из командной строки с помощью команды dotnet .

dotnet new web
dotnet restore
dotnet run
 

dotnet new web леса dotnet new web «пустой» веб-проект. Параметр web указывает инструменту dotnet использовать шаблон ASP.NET Core Empty . Используйте dotnet new -all чтобы показать все доступные в настоящее время шаблоны. Другие ключевые шаблоны включают console , classlib , mvc и xunit .

После того, как шаблон был выровнен, вы можете восстановить пакеты, необходимые для запуска проекта ( dotnet restore ), и скомпилировать его и запустить ( dotnet run ).

После запуска проекта он будет доступен по умолчанию: http: // localhost: 5000

Установка и настройка

Установка Visual Studio

Если у вас нет установленной Visual Studio, вы можете скачать бесплатную версию Visual Studio Community Edition здесь . Если вы уже установили его, вы можете перейти к следующему шагу.

Создание приложения ASP.NET Core MVC.

  1. Откройте Visual Studio.
  2. Выберите «Файл»> «Новый проект».
  3. Выберите «Веб» в соответствии с выбранным вами языком в разделе «Шаблоны» слева.
  4. Выберите предпочтительный тип проекта в диалоговом окне.
  5. Необязательно: выберите .NET Framework, на которую вы хотите настроить таргетинг
  6. Назовите свой проект и укажите, хотите ли вы создать решение для проекта.
  7. Нажмите «ОК», чтобы создать проект.

введите описание изображения здесь

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

введите описание изображения здесь

Каждое из описаний самоочевидно. Для этого первого проекта выберите веб-приложение , которое будет содержать все конфигурации по умолчанию, аутентификацию и некоторый существующий контент.

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

Затем вы должны увидеть новый проект в обозревателе решений:

введите описание изображения здесь

Нажмите клавишу F5, чтобы запустить приложение и начать сеанс отладки, который запустит приложение в браузере по умолчанию:

введите описание изображения здесь

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

Минимальный ASP.NET Core Web API с ASP.NET Core MVC

С ASP.NET Core 1.0 структура MVC и веб-API была объединена в одну структуру под названием ASP.NET Core MVC. Это хорошо, поскольку MVC и веб-API обладают большой функциональностью, но всегда были тонкие различия и дублирование кода.

Однако объединение этих двух в рамки также затрудняло отличать одно от другого. Например, Microsoft.AspNet.WebApi представляет собой структуру Web API 5.xx, а не новую. Но когда вы включаете Microsoft.AspNetCore.Mvc (версия 1.0.0 ), вы получаете полный пакет. Это будет содержать все готовые функции, предлагаемые инфраструктурой MVC. Например, Razor, помощники тегов и привязка к модели.

Когда вы просто хотите создать веб-API, нам не нужны все эти функции. Итак, как мы создаем минималистический веб-API? Ответ: Microsoft.AspNetCore.Mvc.Core . В новом мире MVC разделяется на несколько пакетов, и этот пакет содержит только основные компоненты структуры MVC, такие как маршрутизация и авторизация.

В этом примере мы создадим минимальный API MVC. Включая форматировщик JSON и CORS. Создайте пустое веб-приложение ASP.NET Core 1.0 и добавьте эти пакеты в свой проект. Json:

"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"
 

Теперь мы можем зарегистрировать MVC с помощью AddMvcCore() в классе запуска:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore()
            .AddCors()
            .AddJsonFormatters();
}
 

AddMvcCore возвращает экземпляр IMvcCoreBuilder который позволяет продолжить строительство. Настройка промежуточного программного обеспечения такая же, как обычно:

public void Configure(IApplicationBuilder app)
{
    app.UseCors(policy =>
    {
        policy.AllowAnyOrigin();
    });
    app.UseMvc();
}
 

Контроллеры

«Старый» веб-API поставляется с собственным базовым классом контроллера: ApiController . В новом мире нет такой вещи, только класс Controller по умолчанию. К сожалению, это довольно большой базовый класс, и он привязан к привязке модели, представлениям и JSON.NET.

К счастью, в новых классах контроллера контроллера не нужно выводить из Controller должен быть выбран механизмом маршрутизации. Достаточно просто добавить имя с помощью Controller . Это позволяет нам создать собственный базовый класс контроллера. Назовем это ApiController , только для старых времен:

/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
    [ActionContext]
    public ActionContext ActionContext { get; set; }

    public HttpContext HttpContext => ActionContext?.HttpContext;

    public HttpRequest Request => ActionContext?.HttpContext?.Request;

    public HttpResponse Response => ActionContext?.HttpContext?.Response;

    public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}
 

Атрибут [Controller] указывает, что тип или любой производный тип рассматривается как контроллер с помощью механизма обнаружения контроллера по умолчанию. [ActionContext] указывает, что свойство должно быть установлено с текущим ActionContext когда MVC создает контроллер. ActionContext предоставляет информацию о текущем запросе.

ASP.NET Core MVC также предлагает класс ControllerBase который предоставляет базовый класс контроллера без поддержки видов. Тем не менее, он все еще намного больше, чем у нас. Используйте его, если найдете его удобным.

Заключение

Теперь мы можем создать минимальный веб-API, используя новую структуру ASP.NET Core MVC. Модульная структура упаковки позволяет нам просто втягивать нужные нам пакеты и создавать скудное и простое приложение.

Настройка переменной среды установки в ASP.NET Core [Windows]

=> Оригинальное сообщение <=

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

> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.

Hosting environment: Production  
Content root path: C:\Projects\TestApp  
Now listening on: http://localhost:5000  
Application started. Press Ctrl+C to shut down. 
 

Установка переменной среды в Windows

В командной строке

Вы можете легко установить переменную среды из командной строки, используя команду setx.exe, включенную в Windows. Вы можете использовать его, чтобы легко установить пользовательскую переменную:

>setx ASPNETCORE_ENVIRONMENT "Development"

SUCCESS: Specified value was saved.
 

Обратите внимание, что переменная окружения не задана в текущем открытом окне. Вам нужно будет открыть новую командную строку, чтобы просмотреть обновленную среду. Также можно задать системные переменные (а не только пользовательские переменные), если вы откроете административную командную строку и добавите переключатель / M:

>setx ASPNETCORE_ENVIRONMENT "Development" /M

SUCCESS: Specified value was saved.
 

Использование PowerShell В качестве альтернативы вы можете использовать PowerShell для установки переменной. В PowerShell, а также обычные пользовательские и системные переменные вы также можете создать временную переменную с помощью команды $Env: :

$Env:ASPNETCORE_ENVIRONMENT = "Development"
 

Созданная переменная длится только на время сеанса PowerShell - как только вы закроете окно, среда вернется к своему значению по умолчанию.

Кроме того, вы можете напрямую установить переменные пользователя или системной среды. Этот метод не изменяет переменные среды в текущем сеансе, поэтому вам нужно будет открыть новое окно PowerShell, чтобы увидеть ваши изменения. Как и раньше, изменение переменных системы (Machine) потребует доступа администратора

[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")
 

Использование панели управления Windows Если вы не являетесь поклонником командной строки, вы можете легко обновлять переменные с помощью мыши! Нажмите кнопку меню запуска Windows (или нажмите клавишу Windows), найдите environment variables и выберите « Редактировать среду» переменные для вашей учетной записи: введите описание изображения здесь

При выборе этого параметра откроется диалоговое окно «Свойства системы» введите описание изображения здесь

Нажмите «Переменные среды», чтобы просмотреть список текущих переменных среды в вашей системе. введите описание изображения здесь

Предполагая, что у вас еще нет переменной ASPNETCORE_ENVIRONMENT , нажмите кнопку «Создать ...» и добавьте новую переменную среды учетной записи: введите описание изображения здесь Нажмите «ОК», чтобы сохранить все изменения. Вам нужно будет повторно открыть любые окна команд, чтобы обеспечить загрузку новых переменных среды.

Использование кода Visual Studio для разработки основного приложения aspnet для кросс-пластин

С AspNetCore вы можете разрабатывать приложение на любой платформе, включая Mac, Linux, Window и Docker.

Установка и настройка

  1. Установить визуальный код студии здесь
  2. Добавить C # extesnion
  3. Установите dot net core sdk. Вы можете установить здесь

Теперь у вас есть все доступные инструменты. Разработать приложение. Теперь вам нужно несколько вариантов лесов. Для этого вам следует использовать Йоман. Чтобы установить Yeoman

  1. Установите NPM. Для этого вам нужен узел на вашей машине. Установить отсюда

  2. Установите Yeoman с помощью NPM

    npm install -g yo

  3. Теперь установите генератор aspnet

    npm install -g generator-aspnet

Теперь у нас есть все настройки на вашем компьютере. Сначала давайте создадим новый проект с базовой командой DotNetCore, а затем создадим новый проект с использованием Yo.

Новый проект с использованием командной строки

  1. Создать новую папку проекта

    mkdir CoreApplication cd CoreApplication

  2. Scaffold - это очень простой проект dotnet с использованием опции командной строки по умолчанию

    dotnet Новый

Новый проект

  1. Восстановить пакеты и запустить приложение

    Восстановление dotnet dotNet введите описание изображения здесь

Используйте Yeoman как вариант для лесов

Создать папку проекта и запустить команду Yo

yo aspnet
 

Yeoman спросит некоторые материалы, такие как Project Type, Project Name и т. Д.

введите описание изображения здесь

введите описание изображения здесь

Теперь восстановите пакеты, выполнив команду восстановления dotnet и запустите приложение

Используйте VS Code для разработки приложения

Запустите код визуальной студии, например введите описание изображения здесь

Теперь откройте файлы и запустите приложение. Вы также можете найти расширение для своей помощи.