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 |
Установка и настройка
Установка Visual Studio
Если у вас нет установленной Visual Studio, вы можете скачать бесплатную версию Visual Studio Community Edition здесь . Если вы уже установили его, вы можете перейти к следующему шагу.
Создание приложения ASP.NET Core MVC.
- Откройте Visual Studio.
- Выберите «Файл»> «Новый проект».
- Выберите «Веб» в соответствии с выбранным вами языком в разделе «Шаблоны» слева.
- Выберите предпочтительный тип проекта в диалоговом окне.
- Необязательно: выберите .NET Framework, на которую вы хотите настроить таргетинг
- Назовите свой проект и укажите, хотите ли вы создать решение для проекта.
- Нажмите «ОК», чтобы создать проект.
Вам будет предложено другое диалоговое окно для выбора шаблона, который вы хотите использовать для проекта:
Каждое из описаний самоочевидно. Для этого первого проекта выберите веб-приложение , которое будет содержать все конфигурации по умолчанию, аутентификацию и некоторый существующий контент.
Поскольку это приложение для внедрения и не требует никакой защиты или проверки подлинности, вы можете изменить параметр проверки подлинности на «Нет аутентификации» в правой части диалогового окна и нажмите «ОК», чтобы создать проект .
Затем вы должны увидеть новый проект в обозревателе решений:
Нажмите клавишу F5, чтобы запустить приложение и начать сеанс отладки, который запустит приложение в браузере по умолчанию:
Теперь вы можете видеть, что ваш проект запущен и запущен локально и готов в качестве отправной точки для создания вашего приложения.
Создайте новый проект из командной строки
Можно создать новый проект 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
Минимальный 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. Модульная структура упаковки позволяет нам просто втягивать нужные нам пакеты и создавать скудное и простое приложение.
Использование кода Visual Studio для разработки основного приложения aspnet для кросс-пластин
С AspNetCore вы можете разрабатывать приложение на любой платформе, включая Mac, Linux, Window и Docker.
Установка и настройка
- Установить визуальный код студии здесь
- Добавить C # extesnion
- Установите dot net core sdk. Вы можете установить здесь
Теперь у вас есть все доступные инструменты. Разработать приложение. Теперь вам нужно несколько вариантов лесов. Для этого вам следует использовать Йоман. Чтобы установить Yeoman
Установите NPM. Для этого вам нужен узел на вашей машине. Установить отсюда
Установите Yeoman с помощью NPM
npm install -g yo
Теперь установите генератор aspnet
npm install -g generator-aspnet
Теперь у нас есть все настройки на вашем компьютере. Сначала давайте создадим новый проект с базовой командой DotNetCore, а затем создадим новый проект с использованием Yo.
Новый проект с использованием командной строки
Создать новую папку проекта
mkdir CoreApplication cd CoreApplication
Scaffold - это очень простой проект dotnet с использованием опции командной строки по умолчанию
dotnet Новый
Используйте Yeoman как вариант для лесов
Создать папку проекта и запустить команду Yo
yo aspnet
Yeoman спросит некоторые материалы, такие как Project Type, Project Name и т. Д.
Теперь восстановите пакеты, выполнив команду восстановления dotnet и запустите приложение
Используйте VS Code для разработки приложения
Запустите код визуальной студии, например
Теперь откройте файлы и запустите приложение. Вы также можете найти расширение для своей помощи.
Настройка переменной среды установки в 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
, нажмите кнопку «Создать ...» и добавьте новую переменную среды учетной записи: Нажмите «ОК», чтобы сохранить все изменения. Вам нужно будет повторно открыть любые окна команд, чтобы обеспечить загрузку новых переменных среды.