- ASP.NET Core: Ваше первое приложение на Mac c использованием Visual Studio Code
- Первый цикл статей по ASP.NET Core
- Подготовка среды разработки и формирование шаблонов приложений с помощью Yeoman
- Разработка приложений ASP.NET Core на Mac с помощью Visual Studio Code
- Локальный запуск при помощи Kestrel
- Публикация в Azure
- Инициализация Git
- Инициализация веб-сайта Azure
- Начало работы с ASP.NET Core
- Установка .NET Core
- Создание приложения ASP.NET Core в Visual Studio для Mac
- Program.cs
- Startup.cs
- Добавление контроллера
- Устранение неполадок
ASP.NET Core: Ваше первое приложение на Mac c использованием Visual Studio Code
Представляем вам последнюю статью из цикла по разработке на ASP.NET Core. В данной статье вы узнаете как можно написать свое первое приложение ASP.NET Core на Mac.
Первый цикл статей по ASP.NET Core
Подготовка среды разработки и формирование шаблонов приложений с помощью Yeoman
Для начала вам необходимо загрузить и установить .NET Core и Visual Studio Code с расширением C#.
Проект ASP.NET Core, необходимо создать по этой инструкции.
Разработка приложений ASP.NET Core на Mac с помощью Visual Studio Code
Запустите Visual Studio Code.
Выберите пункт File → Open и перейдите к пустому приложению ASP.NET Core.
В Терминале или оболочке bash выполните команду dotnet restore , чтобы восстановить зависимости проекта. Другой способ — выполнить команду command shift p в Visual Studio Code и затем ввести dot , как показано ниже:
Можно выполнять команды прямо в Visual Studio Code, в том числе dotnet restore и использовать другие инструменты, указанные в файле project.json, а также выполнять задачи, указанные в файле .vscode/tasks.json.
Этот пустой шаблон проекта просто отображает «Hello World!». Откройте Startup.cs в Visual Studio Code, чтобы посмотреть, как он сконфигурирован:
Для тех, кто только приступает к использованию Visual Studio Code (или Code, для краткости), следует заметить, что данный продукт не только имеет удобный, простой и отзывчивый интерфейс, обеспечивающий быструю работу с файлами, но он также предоставляет инструменты для наиболее эффективного написания кода.
В левой панели навигации находятся четыре значка, представляющие четыре viewlet:
- Explore
- Search
- Git
- Debug
- Extensions
Explore viewlet позволяет быстро перемещаться по системе каталогов, а также облегчает обзор файлов, с которыми вы работаете. При наличии несохраненных изменений в файлах специальный значок на экране будет уведомлять об этом; упрощается процесс создания новых файлов и папок (для этого не надо открывать новое окно). Также удобно пользоваться командой Save All (Сохранить все), доступной в меню, которое появляется при наведении курсора мыши.
Code интегрируется с Git, если он установлен на вашем компьютере. При помощи Git viewlet можно создавать новые репозитории, подтверждать изменение кода, отправлять изменения.
Debug viewlet поддерживает интерактивную отладку приложений.
Кроме того, в редакторе Code есть множество замечательных функций. Вы увидите, что неиспользованные операторы using будут подчеркнуты и могут быть удалены автоматически при помощи command . , если значок лампочки отображается на экране. Также можно видеть, сколько ссылок на классы и методы есть в проекте. Если вы переходить с Visual Studio, то вы можете использовать многие знакомые сочетания клавиш, например, command k c , чтобы закомментировать блок кода или command k u , чтобы раскомментировать его.
Локальный запуск при помощи Kestrel
В данном примере мы используем Kestrel в качестве веб-сервера. Его конфигурация хранится в файле project.json, в котором он указан как зависимость.
- Выполните команду dotnet run , чтобы запустить приложение.
- Введите в адресной строке localhost:5000 .
- Чтобы остановить веб-сервер, нажмите Ctrl+C .
Публикация в Azure
После создания приложения можно использовать интеграцию с Git, встроенную в Visual Studio Code, для отправки обновлений в Microsoft Azure.
Инициализация Git
Инициализируйте Git в папке, в которой вы работаете. Нажмите на Git viewlet, затем нажмите на кнопку Initialize Git repository .
Добавьте сообщение подтверждения и нажмите enter, или нажмите на «галочку», чтобы подтвердить файлы.
Git отслеживает изменения, поэтому если вы обновили файл, Git viewlet отобразит файлы, которые изменены с момента последнего подтверждения.
Инициализация веб-сайта Azure
Развернуть приложение в Azure Web Apps можно при помощи Git.
- Создайте новое веб-приложение в Azure. Если у вас нет учетной записи в Azure, вы можете создать бесплатную пробную учетную запись.
- Включите для веб-приложения в Azure поддержку непрерывного развертывания при помощи Git.
Запишите URL Git для веб-приложения на портале Azure:
В окне Терминала добавьте удаленный репозиторий azure с URL-адресом Git, который вы записали ранее.
Чтобы развернуть приложение, отправьте его в репозиторий master.
Откройте в браузере только что развернутое приложение. Должна отобразиться надпись Hello World !
Источник
Начало работы с ASP.NET Core
Visual Studio для Mac упрощает разработку службы приложения благодаря поддержке самой новой платформы веб-разработки ASP.NET Core. Платформа ASP.NET Core выполняется на базе .NET Core — современного результата развития платформы .NET Framework и среды разработки. Она рассчитана на высокую производительность и небольшие размеры установки, а также переработана для запуска в Linux, macOS и Windows.
Установка .NET Core
.NET Core 3.1 автоматически устанавливается при установке Visual Studio для Mac. Дополнительные сведения о версиях .NET Core, поддерживаемых в Visual Studio для Mac, см. в статье Поддержка .NET Core.
Создание приложения ASP.NET Core в Visual Studio для Mac
Откройте Visual Studio для Mac. На начальном экране выберите Создать проект.
Отображается диалоговое окно «Новый проект», где можно выбрать шаблон для создания приложения.
Существует несколько проектов с готовым шаблоном для создания приложения ASP.NET Core. Эти особые значения приведены ниже.
- .NET Core > Пусто
- .NET Core > API
- .NET Core > Веб-приложение
- .NET Core > Веб-приложение (модель — представление — контроллер)
- .NET Core > Серверное приложение Blazor
- .NET Core > Приложение Blazor WebAssembly
Выберите Пустое веб-приложение ASP.NET Core и нажмите кнопку Далее. Присвойте проекту имя и нажмите кнопку Создать. Будет создано приложение ASP.NET Core. В левой области окна решения разверните вторую стрелку и выберите файл Startup.cs. Он должен выглядеть, как на рисунке ниже.
Пустой шаблон ASP.NET Core создает веб-приложение с двумя файлами по умолчанию: Program.cs и Startup.cs, которые описаны ниже. Оно также создает папку «Зависимости», содержащую зависимости пакета NuGet для проекта, такие как ASP.NET Core, платформа .NET Core и целевые объекты MSBuild, используемые при сборке проекта:
Program.cs
Откройте и просмотрите файл Program.cs в проекте. Обратите внимание, что в методе Main — входе в приложение выполняются несколько операций:
Приложение ASP.NET Core создает в основном методе веб-сервер, настраивая и запуская узел с помощью экземпляра WebHostBuilder . Этот построитель предоставляет методы, позволяющие настроить узел. В приложении-шаблоне используются следующие конфигурации:
- .UseStartup () . указывает класс Startup.
Тем не менее вы можете добавить дополнительные конфигурации, такие как:
- UseKestrel . указывает, что приложением будет использоваться сервер Kestrel.
- UseContentRoot(Directory.GetCurrentDirectory()) . использует корневую папку веб-проекта в качестве корня содержимого приложения при запуске приложения из этой папки.
- .UseIISIntegration() . указывает, что приложение должно работать с IIS. Чтобы использовать IIS с ASP.NET Core, нужно указать как UseKestrel , так и UseIISIntegration .
Startup.cs
Класс Startup для вашего приложения указывается в методе UseStartup() для CreateWebHostBuilder . Именно в этом классе вы укажете конвейер обработки запросов и настроите службы.
Откройте и просмотрите файл Startup.cs в проекте:
Этот класс Startup всегда должен соответствовать следующим правилам:
- Он всегда должен быть открытым.
- Он должен содержать два открытых метода: ConfigureServices и Configure .
Метод ConfigureServices определяет службы, которые будут использоваться приложением.
Configure позволяет создать конвейер запросов с помощью ПО промежуточного слоя. Эти компоненты используются в конвейере приложения ASP.NET для обработки запросов и откликов. Конвейер HTTP состоит из нескольких делегатов запросов, вызываемых по очереди. Каждый из делегатов может определить, обработать ли запрос самостоятельно либо передать его в следующий делегат.
Делегаты можно настроить с помощью методов Run , Map и Use для IApplicationBuilder , но метод Run никогда не вызывает следующий делегат и должен всегда находиться в конце конвейера.
Метод Configure предварительно созданного шаблона используется для выполнения нескольких действий. Во-первых, он настраивает страницу обработки исключений для использования во время разработки. Кроме того, он отправляет отклик запрашивающей веб-странице с простым кодом «Hello World».
Этот простой проект «Hello World» может выполняться без добавления дополнительного кода. Чтобы запустить приложение, можно выбрать нужный браузер в раскрывающемся списке справа от кнопки воспроизведения или просто нажать кнопку воспроизведения (треугольная), чтобы использовать браузер по умолчанию:
Для запуска веб-проекта Visual Studio для Mac использует случайный порт. Чтобы узнать, что это за порт, откройте выходные данные приложения, указанные в разделе Вид > Другие окна. Они должны иметь приблизительно следующий вид:
После запуска проекта веб-браузер по умолчанию должен запуститься и подключиться к URL-адресу, указанному в выходных данных приложения. Или вы можете открыть браузер по своему выбору и ввести http://localhost:5000/ , заменив 5000 на порт, указанный Visual Studio в выходных данных приложения. Должен отображаться текст Hello World! :
Добавление контроллера
Приложения ASP.NET Core используют конструктивный шаблон модель-представление-контроллер (MVC), чтобы обеспечить логическое разделение обязанностей для каждой из частей приложения. Шаблон разработки MVC состоит из следующих концепций:
- Модель: класс, представляющий данные приложения.
- Вид: отображает пользовательский интерфейс приложения (который часто является данными модели).
- Контроллер: класс, который обрабатывает запросы браузера, реагирует на ввод данных пользователем и взаимодействие с ним.
Дополнительные сведения об использовании MVC см. в руководстве с обзором MVC ASP.NET Core.
Чтобы добавить контроллер, сделайте следующее:
Щелкните имя проекта правой кнопкой мыши и выберите команду Добавить > Новые файлы. Выберите Общие > Пустой класс и введите имя контроллера:
Добавьте в новый контроллер следующий код:
Добавьте зависимость Microsoft.AspNetCore.Mvc в проект, щелкнув правой кнопкой мыши папку Зависимости и выбрав пункт Добавить пакет.
Используйте поле поиска, чтобы перейти к библиотеке NuGet для Microsoft.AspNetCore.Mvc , и выберите Добавить пакет. Установка может занять несколько минут, кроме того, вам может быть предложено принять различные лицензии для требуемых зависимостей:
В классе Startup удалите лямбда-выражение app.Run и задайте используемую MVC логику маршрутизации URL-адресов, чтобы определить, какой код нужно вызывать следующим:
Не забудьте удалить лямбда-выражение app.Run , так как оно переопределяет логику маршрутизации.
Чтобы определить запускаемый код, MVC использует следующий формат:
Добавляя приведенный выше фрагмент кода, вы указываете приложению использовать по умолчанию контроллер HelloWorld и метод действия Index .
Добавьте вызов services.AddMvc(); для метода ConfigureServices , как показано ниже:
Вы также можете передать сведения о параметрах из URL-адреса в контроллер.
Добавьте в HelloWorldController другой метод, как показано ниже:
Если запустить приложение сейчас, оно должно автоматически открыть браузер:
Если перейти по адресу http://localhost:xxxx/HelloWorld/Xamarin?name=Amy (заменив xxxx на правильный порт), вы должны увидеть следующее:
Устранение неполадок
Если требуется установить .NET Core вручную в macOS 10.12 (Sierra) и более поздней версии, сделайте следующее.
Прежде чем начать установку .NET Core, убедитесь, что установлены все обновления ОС до последней стабильной версии. Это можно сделать, перейдя в приложение App Store и открыв вкладку обновлений.
Выполните действия, указанные на сайте .NET Core.
Убедитесь, что все шаги выполнены успешно, чтобы обеспечить правильную установку .NET Core.
Источник