Začínáme s ASP.NET Core
Visual Studio pro Mac usnadňuje vývoj služby vaší aplikace s podporou nejnovější platformy pro vývoj ASP.NET Core web. ASP.NET Core běží na .NET Core, nejnovějším vývoji prostředí .NET Framework a modulu runtime. Byla vyladěna pro rychlý výkon, zohledněna pro malé velikosti instalací a přestavěna tak, aby se spouštěla v Linuxu a macOS a také Windows.
Instalace .NET Core
.NET Core 1.1 se automaticky nainstaluje při instalaci Visual Studio pro Mac.
Vytvoření ASP.NET Core aplikace v Visual Studio pro Mac
Otevřete Visual Studio pro Mac. Na úvodní stránce vyberte Nový Project...

Zobrazí se dialogové okno Project, které vám umožní vybrat šablonu pro vytvoření aplikace.
Existuje řada projektů, které vám poskytnou předem vytvořenou šablonu pro zahájení sestavování ASP.NET Core aplikace. Jsou to:
- Prázdná webová > ASP.NET Core .NET Core
- Webová aplikace > ASP.NET Core .NET Core
- Webové rozhraní API > ASP.NET Core .NET Core
- Propojená aplikace s > platformou > App

Vyberte soubor ASP.NET Core Empty Web Application (Prázdná webová aplikace) a stiskněte Next (Další). Zadejte název Project a stiskněte Vytvořit. Tím se vytvoří nová ASP.NET Core, která by měla vypadat podobně jako na následujícím obrázku:

Následující ASP.NET Core prázdná webová aplikace vytvoří webovou aplikaci se dvěma výchozími soubory: Program.cs a Startup.cs, které jsou vysvětleny níže. Vytvoří také složku Závislosti, která obsahuje závislosti balíčků NuGet vašeho projektu, jako je ASP.NET Core, rozhraní .NET Core a cíle MSBuild, které sestaví projekt:

Program.cs
Otevřete a zkontrolujte soubor Program.cs ve vašem projektu. Všimněte si, že v metodě se děje dvě Main věci – vstup do vaší aplikace:
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
Aplikace ASP.NET Core v hlavní metodě webový server tím, že nakonfiguruje a spustí hostitele prostřednictvím instance WebHostBuilder . Tento tvůrce poskytuje metody, které umožňují konfiguraci hostitele. V aplikaci šablony se používají následující konfigurace:
UseKestrel: Určuje, že aplikace bude používat server Kestrel.UseContentRoot(Directory.GetCurrentDirectory()): Používá kořenovou složku webového projektu jako kořen obsahu aplikace při spuštění aplikace z této složky..UseIISIntegration(): Určuje, že má aplikace fungovat se službou IIS. Pokud chcete službu IIS ASP.NET Core je potřeba zadat iUseKestrelUseIISIntegration..UseStartup<Startup>(): Určuje třídu Startup.Metody Build a Run sestaví IWebHost, který bude hostovat aplikaci, a spustí naslouchání příchozím požadavkům HTTP.
Startup.cs
Třída Startup pro vaši aplikaci je určená UseStartup() v metodě na WebHostBuilder . V této třídě zadáte kanál zpracování požadavků a nakonfigurujete jakékoli služby.
Otevřete a zkontrolujte soubor Startup.cs ve vašem projektu:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
}
}
Tato třída Startup musí vždy dodržovat následující pravidla:
- Vždy musí být veřejný.
- Musí obsahovat dvě veřejné
ConfigureServicesmetody: aConfigure
Metoda ConfigureServices definuje služby, které bude vaše aplikace používat.
umožňuje Configure vytvořit kanál požadavku pomocí middlewaru. Jedná se o komponenty používané v rámci ASP.NET aplikace ke zpracování požadavků a odpovědí. Kanál HTTP se skládá z několika delegátů požadavků, které se volána postupně. Každý delegát může buď zpracovat samotný požadavek, nebo ho předat dalšímu delegátovi.
Delegáty můžete nakonfigurovat pomocí metod , a v , ale metoda nikdy nevolá dalšího delegáta a měla by se vždy používat na Run Map konci Use IApplicationBuilder Run kanálu.
Metoda Configure předem sestavené šablony je sestavená tak, aby šla několika věcmi. Nejprve nakonfiguruje stránku zpracování výjimek pro použití během vývoje. Pak odešle odpověď na žádající webovou stránku s jednoduchým Hello World.
Tento jednoduchý projekt Hello, World se teď může spustit bez přidání dalšího kódu. Aplikaci spustíte a zobrazíte v prohlížeči stisknutím tlačítka Přehrát (trojúhelníkové) na panelu nástrojů:

Visual Studio pro Mac ke spuštění webového projektu používá náhodný port. Pokud chcete zjistit, o jaký port se jedná, otevřete výstup aplikace, který je uvedený v části Zobrazit > oblasti. Zobrazený výstup by měl být podobný následujícímu:

Otevřete prohlížeč podle volby a zadejte http://localhost:5000/ , nahraďte 5000 portem, který Visual Studio výstupu aplikace. Měl by se zobrazit text Hello World! :

Přidání kontroleru
ASP.NET Core Aplikace používají vzor návrhu MVC (Model-View-Controller) k zajištění logického oddělení zodpovědností pro jednotlivé části aplikace. MVC se skládá z následujících součástí:
- Model: Třída, která představuje data aplikace.
- Zobrazení: Zobrazí uživatelské rozhraní aplikace (což jsou často data modelu).
- Controller: Třída, která zpracovává požadavky prohlížeče, reaguje na uživatelský vstup a interakci.
Další informace o používání MVC najdete v tématu Přehled ASP.NET Core MVC.
Pokud chcete přidat kontroler, proveďte následující:
Klikněte pravým tlačítkem na název Project a vyberte Add > New Files (Přidat nové soubory). Vyberte Obecné > Prázdná třída a zadejte název kontroleru:

Do nového kontroleru přidejte následující kód:
using System; using Microsoft.AspNetCore.Mvc; using System.Text.Encodings.Web; namespace Hello_ASP { public class HelloWorldController : Controller { // // GET: /HelloWorld/ public string Index() { return "This is my default action..."; } } }Přidejte závislost do projektu tak, že kliknete pravým tlačítkem na složku Dependency (Závislost) a
Microsoft.AspNetCore.Mvcvyberete Add Package... (Přidat balíček...).Pomocí vyhledávacího pole vyhledejte knihovnu NuGet pro
Microsoft.AspNetCore.Mvca vyberte Přidat balíček. Instalace může trvat několik minut a může se zobrazit výzva k přijetí různých licencí požadovaných závislostí:
Ve třídě Startup odeberte lambda a nastavte logiku směrování adresy URL, kterou MVC používá, abyste zjistili, jaký kód by měl
app.Runvyvolat:app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=HelloWorld}/{action=Index}/{id?}"); });Nezapomeňte odebrat
app.Runlambda, protože tím se přepíše logika směrování.MVC používá k určení kódu, který se má spustit, následující formát:
/[Controller]/[ActionName]/[Parameters]Když přidáte výše uvedený fragment kódu, říkáte aplikaci, aby jako výchozí používá
HelloWorldController aIndexmetodu akce.Přidejte
services.AddMvc();volání metody , jak jeConfigureServicesznázorněno níže:public void ConfigureServices(IServiceCollection services) { services.AddMvc(); }Kontroleru můžete předat také informace o parametrech z adresy URL.
Přidejte do třídy HelloWorldController další metodu, jak je znázorněno níže:
public string Xamarin(string name) { return HtmlEncoder.Default.Encode($"Hello {name}, welcome to Visual Studio for Mac"); }Pokud teď aplikaci spustíte, měla by automaticky otevřít prohlížeč:

Zkuste přejít na
http://localhost:xxxx/HelloWorld/Xamarin?name=Amyxxxx(nahraďte správným portem), měli byste vidět následující:
Řešení potíží
Pokud potřebujete .NET Core nainstalovat ručně na Mac OS 10.11 (El Capitan) a vyšší, proveďte následující kroky:
Před zahájením instalace .NET Core se ujistěte, že jste aktualizovali všechny aktualizace operačního systému na nejnovější stabilní verzi. Můžete to zkontrolovat tak, že App Store aplikaci a vyberete kartu Aktualizace.
Postupujte podle kroků uvedených na webu .NET Core.
Ujistěte se, že jste úspěšně dokončili všechny čtyři kroky, abyste zajistili úspěšnou instalaci .NET Core.
Souhrn
Tato příručka vám poskytla úvod do ASP.NET Core. Popisuje, co to je, kdy ho použít, a poskytuje informace o jeho použití v Visual Studio pro Mac. Další informace o dalších krocích najdete v následujících příručkách:
- ASP.NET Core dokumentace.
- Vytvoření back-endových služeb pro nativní mobilní aplikace, které ukazuje, jak vytvořit službu REST pomocí ASP.NET Core pro aplikaci Xamarin.Forms.
- ASP.NET Core cvičení.