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...

Dialogové okno Nový projekt

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

ASP.NET Project možnosti

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:

Nové ASP.NET Core prázdné Project zobrazení

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:

Oblast řešení zobrazení závislostí

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 i UseKestrel UseIISIntegration .

  • .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é ConfigureServices metody: a Configure

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ů:

Spuštění aplikace

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:

Výstup aplikace zobrazující port naslouchání

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! :

prohlížeč zobrazující text

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í:

  1. 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:

    Dialogové okno Nový soubor

  2. 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...";
            }
    
        }
    }
    
  3. Přidejte závislost do projektu tak, že kliknete pravým tlačítkem na složku Dependency (Závislost) a Microsoft.AspNetCore.Mvc vyberete Add Package... (Přidat balíček...).

  4. Pomocí vyhledávacího pole vyhledejte knihovnu NuGet pro Microsoft.AspNetCore.Mvc a 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í:

    Přidání NuGetu

  5. 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.Run vyvolat:

    app.UseMvc(routes =>
    {
        routes.MapRoute(
        name: "default",
        template: "{controller=HelloWorld}/{action=Index}/{id?}");
    });
    

    Nezapomeňte odebrat app.Run lambda, 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á HelloWorld Controller a Index metodu akce.

  6. Přidejte services.AddMvc(); volání metody , jak je ConfigureServices znázorněno níže:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
    }
    

    Kontroleru můžete předat také informace o parametrech z adresy URL.

  7. 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");
    }
    
  8. Pokud teď aplikaci spustíte, měla by automaticky otevřít prohlížeč:

    Spuštění aplikace v prohlížeči

  9. Zkuste přejít na http://localhost:xxxx/HelloWorld/Xamarin?name=Amy xxxx (nahraďte správným portem), měli byste vidět následující:

    Spuštění aplikace v prohlížeči s argumenty

Ř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:

  1. 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.

  2. 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: