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 3.1 se automaticky nainstaluje při instalaci Visual Studio pro Mac. Další informace o verzích .NET Core podporovaných v Visual Studio pro Mac najdete v tématu Podpora .NET Core.

Vytvoření ASP.NET Core aplikace v Visual Studio pro Mac

Otevřete Visual Studio pro Mac. Na úvodní obrazovce 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:

  • .NET Core – > prázdné
  • Rozhraní .NET Core > API
  • Webová aplikace pro > .NET Core
  • Webová aplikace > .NET Core (Model-View-Controller)
  • Aplikace .NET Core > Blazor Server
  • Aplikace pro > .NET Blazor WebAssembly Core

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 aplikace. V levém podokně okna řešení rozbalte druhou šipku a pak vyberte Startup.cs. Měl by vypadat podobně jako na následujícím obrázku:

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

Šablona ASP.NET Core prázdná 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:

Okno řešení zobrazující závislosti

Program.cs

Otevřete a zkontrolujte soubor Program.cs ve vašem projektu. Všimněte si, že v metodě se děje několik Main věcí – vstup do vaší aplikace:

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>();
    }

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:

  • .UseStartup<Startup>(): Určuje třídu Startup.

Můžete ale také přidat další konfigurace, například:

  • 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 jak , UseKestrel UseIISIntegration tak i .

Startup.cs

Třída Startup pro vaši aplikaci je určená UseStartup() v metodě na CreateWebHostBuilder . 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
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            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. Potom odešle odpověď na žádající webovou stránku pomocí jednoduchého Hello World.

Tento jednoduchý projekt Hello, World se teď může spustit bez přidání dalšího kódu. Pokud chcete aplikaci spustit, můžete buď vybrat prohlížeč, ve kterém chcete aplikaci spustit, pomocí rozevíracího seznamu vpravo od tlačítka Přehrát, nebo jednoduše kliknout na tlačítko Přehrát (trojúhelníkové) a použít výchozí prohlížeč:

Spuštění prohlížeče

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 uvedený v nabídce > další Windows aplikace. Zobrazený výstup by měl být podobný následujícímu:

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

Po spuštění projektu by se měl spustit výchozí webový prohlížeč a připojit se k adrese URL uvedené ve výstupu aplikace. Případně můžete otevřít libovolný prohlížeč a zadat a nahradit za port, který http://localhost:5000/ Visual Studio výstupu 5000 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. Návrhový vzor MVC se skládá z následujících konceptů:

  • 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 příručce 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é > Empty Class (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ě v systému macOS 10.12 (Sierra) a novějším, proveďte následující kroky:

  1. Než začnete s instalací .NET Core, ujistěte se, že jste aktualizovali všechny aktualizace operačního systému na nejnovější stabilní verzi. Můžete to vrátit tak, že v aplikaci App Storu kliknete na kartu aktualizace 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 kroky, abyste zajistili, že se .NET Core nainstaluje úspěšně.

Souhrn

Tento průvodce vám poskytl Úvod do ASP.NET Core. popisuje, co je, kdy se používá, 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: