Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Poznámka
Toto není nejnovější verze tohoto článku. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Upozornění
Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v zásadách podpory .NET a .NET Core. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Důležité
Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Internetová informační služba (IIS) je flexibilní, zabezpečený a spravovatelný webový server pro hostování webových aplikací, včetně aplikací ASP.NET Core.
Podporovány jsou následující operační systémy:
Podporují se aplikace publikované pro 32bitové (x86) nebo 64bitové (x64) nasazení. Nasaďte 32bitovou aplikaci s 32bitovou (x86) sadou .NET Core SDK, pokud aplikace:
Stáhněte si nejnovější instalační program pomocí následujícího odkazu:
Instalační program aktuální sady pro hosting .NET Core (přímé stažení)
Další podrobnosti a pokyny k instalaci modulu ASP.NET Core nebo instalaci různých verzí najdete v tématu Instalace sady pro hosting .NET Core.
Pokud chcete stáhnout předchozí verze hostitelské sady, přečtěte si tento problém s GitHubem.
Úvodní informace k hostování webů ve službě IIS najdete v naší příručce Začínáme.
Úvodní informace k hostování webů v Azure App Services najdete v našem průvodci nasazením do Azure App Service.
Doprovodné materiály ke konfiguraci najdete v tématu Pokročilá konfigurace.
V zájmu zajištění nasazení bez výpadků obecně doporučujeme používat model typu modrozelené nasazení. Funkce jako překrývající se recyklace sice pomáhají, ale nezaručují možnost provést nasazení bez výpadků. Další informace najdete u tohoto problému na GitHubu.
Informace o aplikacích, které musí chránit podmnožinu aplikace pomocí certifikátu, najdete v části Volitelné klientské certifikáty.
Kurz publikování aplikace ASP.NET Core na serveru služby IIS najdete tady: Publikování aplikace ASP.NET Core ve službě IIS.
Instalace sady pro hosting .NET Core
Podporovány jsou následující operační systémy:
Server HTTP.sys (dříve označovaný jako WebListener) nefunguje se službou IIS v konfiguraci reverzního proxy serveru. Použijte server Kestrel.
Informace o hostování v Azure najdete v tématu Nasazování aplikací ASP.NET Core v Azure App Service.
Doprovodné materiály k řešení potíží najdete v tématu Řešení potíží s projekty ASP.NET Core a jejich ladění.
Podporují se aplikace publikované pro 32bitové (x86) nebo 64bitové (x64) nasazení. Nasaďte 32bitovou aplikaci s 32bitovou (x86) sadou .NET Core SDK, pokud aplikace:
Aplikace publikované pro 32bitové systémy (x86) musí mít povolené 32bitové fondy aplikací IIS. Další informace najdete v části Vytvoření webu služby IIS.
K publikování 64bitové aplikace použijte 64bitovou (x64) sadu .NET Core SDK. V hostitelském systému musí být k dispozici 64bitový modul runtime.
Při vnitroprocesovém hostování aplikace ASP.NET Core běží ve stejném procesu jako příslušný pracovní proces služby IIS. Vnitroprocesové hostování nabízí oproti mimoprocesovému hostování vyšší výkon, protože požadavky neprocházejí přes proxy v podobě adaptéru zpětné smyčky, což je síťové rozhraní, které vrací odchozí síťový provoz zpět do stejného počítače. Služba IIS zajišťuje správu procesů s využitím Aktivační služby procesů systému Windows (WAS).
Program.Main
.Následující diagram znázorňuje vztah mezi službou IIS, modulem ASP.NET Core a vnitroprocesově hostovanou aplikací:
IISHttpServer
). Server HTTP služby IIS představuje implementaci vnitroprocesového serveru pro službu IIS, který převede požadavek z nativního na spravovaný.Po zpracování požadavku serverem HTTP služby IIS:
HttpContext
do logiky aplikace.Vnitroprocesové hostování je pro stávající aplikace volitelná funkce. Webové šablony ASP.NET Core využívají model vnitroprocesového hostování.
CreateDefaultBuilder
přidá instanci IServer zavoláním metody UseIIS, která spustí CoreCLR a zahájí hostování aplikace v rámci pracovního procesu služby IIS (w3wp.exe
nebo iisexpress.exe
). Testy výkonnosti ukazují, že vnitroprocesové hostování aplikací .NET Core přináší výrazně vyšší propustnost v porovnání s mimoprocesovým hostováním aplikací a odesíláním požadavků na proxy server Kestrel.
Model vnitroprocesového hostování nedokáže načíst aplikace publikované jako jednotlivé spustitelné soubory.
Vzhledem k tomu, že aplikace ASP.NET Core běží v procesu odděleném od pracovního procesu služby IIS, zajišťuje správu procesů modul ASP.NET Core. Modul zahájí tento proces pro aplikaci ASP.NET Core při přijetí prvního požadavku a v případě vypnutí nebo selhání aplikaci restartuje. Jedná se v podstatě o stejné chování jako u aplikací, které běží vnitroprocesově a jsou spravované Aktivační službou procesů systému Windows (WAS).
Následující diagram znázorňuje vztah mezi službou IIS, modulem ASP.NET Core a mimoprocesově hostovanou aplikací:
Modul ASP.NET Core tento port určí při spuštění prostřednictvím proměnné prostředí. Rozšíření UseIISIntegration nakonfiguruje server tak, aby naslouchal na adrese http://localhost:{PORT}
. Provedou se další kontroly a požadavky, které nepocházejí z tohoto modulu, se zamítnou. Modul nepodporuje předávání HTTPS. Požadavky se předávají přes HTTP, i když je služba IIS přijme přes HTTPS.
Jakmile server Kestrel přijme požadavek z modulu, požadavek se přesměruje do kanálu middlewaru ASP.NET Core. Kanál middlewaru požadavek zpracuje a předá ho jako instanci HttpContext
do logiky aplikace. Middleware přidaný integrací služby IIS aktualizuje schéma, vzdálenou IP adresu a základ cesty k účtu pro přesměrování požadavku na server Kestrel. Odpověď aplikace se předá zpět do služby IIS, která ji předá klientovi HTTP, který požadavek inicioval.
Doprovodné materiály ke konfiguraci modulu ASP.NET Core najdete v tématu Modul ASP.NET Core (ANCM) pro službu IIS.
Další informace o hostování najdete v části Hostitel v ASP.NET Core.
Pokud chcete povolit integraci služby IIS, při sestavování hostitele v metodě CreateHostBuilder
(Program.cs
) zavolejte metodu CreateDefaultBuilder:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
...
Další informace najdete o metodě CreateDefaultBuilder
najdete v tématu Obecný hostitel .NET v ASP.NET Core.
Model vnitroprocesového hostování
Pokud chcete nakonfigurovat možnosti serveru služby IIS, vložte konfiguraci služby pro třídu IISServerOptions do souboru ConfigureServices. Následující příklad zakáže vlastnost AutomaticAuthentication:
services.Configure<IISServerOptions>(options =>
{
options.AutomaticAuthentication = false;
});
Možnost | Výchozí | Nastavení |
---|---|---|
AutomaticAuthentication |
true |
Pokud je nastavená hodnota true , server služby IIS nastaví objekt HttpContext.User , který se ověřuje pomocí Integrovaného ověřování Windows. Pokud false , server poskytuje identitu pouze pro HttpContext.User a reaguje na výzvy, pokud je výslovně požaduje AuthenticationScheme . Aby fungovala možnost AutomaticAuthentication , ve službě IIS musí být povolené Integrované ověřování Windows. Další informace najdete v tématu Integrované ověřování Windows. |
AuthenticationDisplayName |
null |
Nastaví zobrazovaný název, který se zobrazí uživatelům na přihlašovacích stránkách. |
AllowSynchronousIO |
false |
Určuje, jestli jsou pro HttpContext.Request a HttpContext.Response povolené synchronní vstupně-výstupní operace. |
MaxRequestBodySize |
30000000 |
Získá nebo nastaví maximální velikost textu požadavku pro HttpRequest . Upozorňujeme, že služba IIS má vlastní limit maxAllowedContentLength , který se vyhodnocuje před limitem MaxRequestBodySize nastaveným v IISServerOptions . Změna hodnoty MaxRequestBodySize nemá vliv na hodnotu maxAllowedContentLength . Pokud chcete zvýšit hodnotu maxAllowedContentLength , přidejte položku do souboru web.config a nastavte vyšší hodnotu maxAllowedContentLength . Další podrobnosti najdete v části Konfigurace. |
Model mimoprocesového hostování
Pokud chcete nakonfigurovat možnosti služby IIS, vložte konfiguraci služby pro třídu IISOptions do souboru ConfigureServices. Následující příklad zabrání aplikaci vyplnit hodnotu HttpContext.Connection.ClientCertificate
:
services.Configure<IISOptions>(options =>
{
options.ForwardClientCertificate = false;
});
Možnost | Výchozí | Nastavení |
---|---|---|
AutomaticAuthentication |
true |
Pokud je nastavená hodnota true , middleware IIS Integration nastaví objekt HttpContext.User , který se ověřuje pomocí Integrovaného ověřování Windows. Pokud false , middleware poskytuje identitu pouze pro HttpContext.User a reaguje na výzvy, pokud je výslovně požaduje AuthenticationScheme . Aby fungovala možnost AutomaticAuthentication , ve službě IIS musí být povolené Integrované ověřování Windows. Další informace najdete v tématu Integrované ověřování Windows. |
AuthenticationDisplayName |
null |
Nastaví zobrazovaný název, který se zobrazí uživatelům na přihlašovacích stránkách. |
ForwardClientCertificate |
true |
Pokud je nastavená hodnota true a je k dispozici hlavička požadavku MS-ASPNETCORE-CLIENTCERT , vyplní se hodnota HttpContext.Connection.ClientCertificate . |
Middleware IIS Integration a modul ASP.NET Core jsou nakonfigurované tak, aby předávaly:
Middleware IIS Integration konfiguruje middleware Forwarded Headers.
Aplikace hostované za dalšími proxy servery a nástroji pro vyrovnávání zatížení můžou vyžadovat další konfiguraci. Další informace najdete v tématu Konfigurace ASP.NET Core pro práci s proxy servery a nástroji pro vyrovnávání zatížení.
V souboru web.config
se konfiguruje modul ASP.NET Core. Vytvoření, transformaci a publikování souboru web.config
při publikování projektu zajišťuje cíl nástroje MSBuild (_TransformWebConfig
). Tento cíl je k dispozici v cílech sady Web SDK (Microsoft.NET.Sdk.Web
). Sada SDK se nastavuje na začátku souboru projektu:
<Project Sdk="Microsoft.NET.Sdk.Web">
Pokud v projektu není k dispozici soubor web.config
, vytvoří se s použitím správných parametrů processPath
a arguments
pro konfiguraci modulu ASP.NET Core a přesune se do publikovaného výstupu.
Pokud v projektu je k dispozici soubor web.config
, transformuje se s použitím správných parametrů processPath
a arguments
pro konfiguraci modulu ASP.NET Core a přesune se do publikovaného výstupu. Transformace nezmění nastavení konfigurace služby IIS v souboru.
Soubor web.config
může obsahovat další nastavení konfigurace služby IIS, které řídí aktivní moduly služby IIS. Informace o modulech služby IIS, které jsou schopné zpracovávat požadavky v aplikacích ASP.NET Core, najdete v tématu Moduly služby IIS.
Pokud chcete sadě Web SDK zabránit v transformaci souboru web.config
, použijte v souboru projektu vlastnost <IsTransformWebConfigDisabled>
:
<PropertyGroup>
<IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
</PropertyGroup>
Pokud se sadě Web SDK zakáže transformace tohoto souboru, musí parametry processPath
a arguments
ručně nastavit vývojář. Další informace najdete v tématu Modul ASP.NET Core (ANCM) pro službu IIS.
Aby bylo možné správně nastavit modul ASP.NET Core, musí se soubor web.config
nacházet v cestě ke kořenové složce obsahu (obvykle základní cesta aplikace) nasazené aplikace. Jedná se o stejné umístění jako fyzická cesta k webu poskytnutá službě IIS. Soubor web.config
se musí nacházet v kořenovém adresáři aplikace, aby bylo možné publikovat více aplikací pomocí Nasazení webu.
Citlivé soubory, jako jsou {ASSEMBLY}.runtimeconfig.json
, {ASSEMBLY}.xml
(komentáře k dokumentaci XML) a {ASSEMBLY}.deps.json
, kde zástupný symbol {ASSEMBLY}
představuje název sestavení, se nacházejí ve fyzické cestě k aplikaci. Pokud je k dispozici soubor web.config
a web se normálně spustí, služba IIS neobsluhuje požadavky na tyto citlivé soubory. Pokud soubor web.config
chybí, má nesprávný název nebo nemůže nakonfigurovat web pro normální spuštění, služba IIS může veřejně zobrazovat citlivé soubory.
Soubor web.config
se vždy musí nacházet v nasazení, musí mít správný název a musí být schopný nakonfigurovat web pro normální spuštění. Nikdy neodebírejte soubor web.config
z produkčního nasazení.
Pokud potřebujete při publikování transformovat soubor web.config
, projděte si téma Transformace souboru web.config. Soubor web.config
může být potřeba transformovat při publikování kvůli nastavení proměnných prostředí na základě konfigurace, profilu nebo prostředí.
Serverové operační systémy Windows
Povolte roli serveru Webový server (služba IIS) a vytvořte služby role.
Použijte průvodce přidáním rolí a funkcí z nabídky Správa nebo odkazu ve Správci serveru. V kroku Role serveru zaškrtněte políčko u možnosti Webový server (služba IIS).
Po kroku Funkce se načte krok Služby role pro roli Webový server (služba IIS). Vyberte požadované služby role služby IIS nebo přijměte uvedené výchozí služby role.
Integrované ověřování Windows (volitelné)
Pokud chcete povolit Integrované ověřování Windows, rozbalte následující uzly: Webový server>Zabezpečení. Vyberte funkci Integrované ověřování Windows. Další informace najdete v tématu Integrované ověřování Windows <windowsAuthentication>
a Konfigurace Integrovaného ověřování Windows.
WebSocket (volitelné)
Protokol WebSocket se podporuje v ASP.NET Core 1.1 nebo novější verzi. Pokud chcete povolit protokol WebSocket, rozbalte následující uzly: Webový server>Vývoj aplikací. Vyberte funkci Protokol WebSocket. Další informace najdete v tématu WebSocket.
Pokračujte krokem Potvrzení a nainstalujte roli a služby webového serveru. Po dokončení instalace role Webový server (služba IIS) se nevyžaduje restartování serveru ani služby IIS.
Desktopové operační systémy Windows
Povolte konzolu pro správu služby IIS a webové služby.
Přejděte do části Ovládací panely>Programy>Programy a funkce>Zapnout nebo vypnout funkce systému Windows (na levé straně obrazovky).
Otevřete uzel Internetová informační služba. Otevřete uzel Nástroje webové správy.
Zaškrtněte políčko u možnosti Konzola pro správu služby IIS.
Zaškrtněte políčko u možnosti Webové služby.
Přijměte výchozí funkce pro Webové služby nebo si přizpůsobte funkce služby IIS.
Integrované ověřování Windows (volitelné)
Pokud chcete povolit Integrované ověřování Windows, rozbalte následující uzly: Webové služby>Zabezpečení. Vyberte funkci Integrované ověřování Windows. Další informace najdete v tématu Integrované ověřování Windows <windowsAuthentication> a Konfigurace Integrovaného ověřování Windows.
WebSocket (volitelné)
Protokol WebSocket se podporuje v ASP.NET Core 1.1 nebo novější verzi. Pokud chcete povolit protokol WebSocket, rozbalte následující uzly: Webové služby>Funkce pro vývoj aplikací. Vyberte funkci Protokol WebSocket. Další informace najdete v tématu WebSocket.
Pokud instalace služby IIS vyžaduje restartování, restartujte systém.
Nainstalujte v hostitelském systému sadu pro hosting .NET Core. Tato sada nainstaluje modul runtime .NET, knihovnu .NET Core a modul ASP.NET Core. Modul umožňuje provoz aplikací ASP.NET Core za službou IIS.
Důležité
V případě instalace sady pro hosting před instalací služby IIS je potřeba instalaci sady připravit. Po dokončení instalace služby IIS znovu spusťte instalační program sady pro hosting.
Pokud se sada pro hosting nainstaluje po instalaci 64bitové (x64) verze .NET Core, může se zdát, že sady SDK chybí (Nezjistily se žádné sady SDK). Pokud chcete tento problém vyřešit, projděte si téma Řešení potíží s projekty ASP.NET Core a jejich ladění.
Stáhněte si instalační program na následujícím odkazu:
Instalační program aktuální sady pro hosting .NET Core (přímé stažení)
Pokud chcete získat starší verzi instalačního programu:
Upozornění
Některé instalační programy obsahují verze po konci životnosti (EOL), které už Microsoft nepodporuje. Další informace najdete v části věnované zásadám podpory.
Spusťte na serveru instalační program. Při spuštění instalačního programu z příkazového prostředí správce jsou k dispozici následující parametry:
OPT_NO_ANCM=1
: Přeskočí se instalace modulu ASP.NET Core.OPT_NO_RUNTIME=1
: Přeskočí se instalace modulu runtime .NET Core. Používá se v případě, že je server hostitelem pouze samostatných nasazení (SCD).OPT_NO_SHAREDFX=1
: Přeskočí se instalace sdílené architektury ASP.NET (modul runtime ASP.NET). Používá se v případě, že je server hostitelem pouze samostatných nasazení (SCD).OPT_NO_X86=1
: Přeskočí se instalace modulů runtime x86. Tento parametr použijte, pokud víte, že nebudete hostovat 32bitové aplikace. Pokud existuje možnost, že budete v budoucnu hostovat 32bitové i 64bitové aplikace, nepoužívejte tento parametr a nainstalujte oba moduly runtime.OPT_NO_SHARED_CONFIG_CHECK=1
: Zakáže se kontrola používání sdílené konfigurace služby IIS, pokud je sdílená konfigurace (applicationHost.config
) na stejném počítači jako instalace služby IIS. Tento parametr je k dispozici pouze v instalačních programech sady pro hostování ASP.NET Core 2.2 nebo novější verze. Další informace najdete v tématu Modul ASP.NET Core (ANCM) pro službu IIS.Při restartování služby IIS se zachytí změna systémové cesty, což je proměnná prostředí PATH, kterou provedl instalační program. Pokud chcete webový server restartovat, zastavte Aktivační službu procesů systému Windows (WAS) a pak restartujte Službu publikování na webu (W3SVC). Restartujte systém nebo v příkazovém prostředí se zvýšenými oprávněními spusťte následující příkazy:
net stop was /y
net start w3svc
ASP.NET Core u verzí oprav balíčků sdílené architektury neuplatňuje dopředné posouvání. Po upgradu sdílené architektury instalací nové sady pro hosting restartujte systém nebo v příkazovém prostředí se zvýšenými oprávněními spusťte následující příkazy:
net stop was /y
net start w3svc
Poznámka
Informace o sdílené konfiguraci služby IIS najdete v tématu Modul ASP.NET Core se sdílenou konfigurací služby IIS.
Pokud k nasazování aplikací na servery používáte Nasazení webu, nainstalujte na server nejnovější verzi Nasazení webu. Pokud chcete nainstalovat nasazení webu, použijte instalační program webové platformy (WebPI) nebo si přečtěte informace o stažení služby IIS: Nasazení webu. Upřednostňovanou metodou je použít nástroj WebPI. WebPI nabízí samostatnou instalaci a konfiguraci pro poskytovatele hostingu.
V hostitelském systému vytvořte složku, která bude obsahovat publikované soubory a složky aplikace. V následujícím kroku se cesta k této složce poskytne službě IIS jako fyzická cesta k aplikaci. Další informace o složce pro nasazení aplikace a rozložení souborů najdete v tématu Adresářová struktura ASP.NET Core.
Ve Správci služby IIS otevřete uzel serveru na panelu Připojení. Klikněte pravým tlačítkem na složku Weby. V místní nabídce vyberte Přidat web.
Zadejte Název webu a nastavte fyzickou cestu ke složce pro nasazení aplikace. Zadejte konfiguraci vazby a výběrem možnosti OK web vytvořte:
Upozornění
Vazby nejvyšší úrovně se zástupnými znaky (http://*:80/
a http://+:80
) by se neměly používat. Vazby nejvyšší úrovně se zástupnými znaky můžou vaši aplikaci vystavit ohrožení zabezpečení. Týká se to silných i slabých zástupných znaků. Místo zástupných znaků používejte explicitní názvy hostitelů. Vazeb subdomén se zástupnými znaky (například *.mysub.com
) se toto bezpečnostní riziko netýká, pokud máte kontrolu nad celou nadřazenou doménou (na rozdíl od vazby *.com
, která je zranitelná). Další informace najdete v dokumentu RFC 9110: Sémantika HTTP (oddíl 7.2: Hostitel a :autorita).
Pod uzlem serveru vyberte Fondy aplikací.
Klikněte pravým tlačítkem na fond aplikací webu a v místní nabídce vyberte Základní nastavení.
V okně Upravit fond aplikací nastavte verzi .NET CLR na hodnotu Bez spravovaného kódu:
ASP.NET Core běží v samostatném procesu a spravuje modul runtime. ASP.NET Core nespoléhá na načítání desktopového modulu CLR (.NET CLR). Pro účely hostování aplikace v pracovním procesu se spustí modul CoreCLR (Core Common Language Runtime) pro .NET Core. Nastavení verze .NET CLR na hodnotu Bez spravovaného kódu je volitelné, ale doporučuje se.
ASP.NET Core 2.2 nebo novější:
V případě 32bitového (x86) samostatného nasazení publikovaného s 32bitovou sadou SDK, které využívá model vnitroprocesového hostování, povolte fond aplikací pro 32bitovou verzi. Ve Správci služby IIS na bočním panelu Připojení přejděte do části Fondy aplikací. Vyberte fond aplikací aplikace. Na bočním panelu Akce vyberte Upřesňující nastavení. Nastavte možnost Povolit 32bitové aplikace na hodnotu True
.
V případě 64bitového (x64) samostatného nasazení, které využívá model vnitroprocesového hostování, zakažte fond aplikací pro 32bitové (x86) procesy. Ve Správci služby IIS na bočním panelu Připojení přejděte do části Fondy aplikací. Vyberte fond aplikací aplikace. Na bočním panelu Akce vyberte Upřesňující nastavení. Nastavte možnost Povolit 32bitové aplikace na hodnotu False
.
Ověřte, že identita modelu procesu má správná oprávnění.
Pokud se výchozí identita fondu aplikací (procesový model>Identity) změní z ApplicationPoolIdentity na jinou identitu, ověřte, že nová identita má požadovaná oprávnění pro přístup ke složce, databázi a dalším požadovaným prostředkům aplikace. Fond aplikací například vyžaduje oprávnění ke čtení a zápisu ve složkách, ve kterých aplikace čte a zapisuje soubory.
Konfigurace Integrovaného ověřování Windows (volitelné)
Další informace najdete v tématu Konfigurace Integrovaného ověřování Windows.
Nasaďte aplikaci ve službě IIS do složky ve fyzické cestě, kterou jste vytvořili v části Vytvoření webu služby IIS. K nasazení doporučujeme použít Nasazení webu, ale existují různé možnosti, jak přesunout aplikaci ze složky publish
projektu do složky pro nasazení v hostitelském systému.
Informace o vytvoření profilu publikování pro použití s Nasazením webu najdete v tématu Profily publikování sady Visual Studio pro nasazení aplikace ASP.NET Core. Pokud poskytovatel hostingu nabízí profil publikování nebo podporuje jeho vytvoření, stáhněte si jeho profil a importujte ho v dialogovém okně Publikovat sady Visual Studio:
Nasazení webu je možné používat také mimo sadu Visual Studio prostřednictvím příkazového řádku. Další informace najdete v tématu Nástroj Nasazení webu.
K přesunu aplikace do hostitelského systému můžete použít několik různých metod, mezi které patří ruční kopírování, Xcopy, Robocopy nebo PowerShell.
Další informace o nasazení ASP.NET Core ve službě IIS najdete v části Zdroje informací o nasazení pro správce služby IIS.
Po nasazení aplikace v hostitelském systému odešlete požadavek na některý z veřejných koncových bodů aplikace.
V následujícím příkladu je web vázán na název hostitele služby IIS na www.mysite.com
.80
Požadavek se odešle na adresu http://www.mysite.com
:
Když je aplikace spuštěná, soubory ve složce pro nasazení jsou uzamčené. Uzamčené soubory není možné během nasazování přepsat. Pokud chcete uvolnit uzamčené soubory v nasazení, jedním z následujících způsobů zastavte fond aplikací:
Použijte Nasazení webu a do souboru projektu přidejte odkaz na Microsoft.NET.Sdk.Web
. Do kořenového adresáře webové aplikace se umístí soubor app_offline.htm
. Pokud existuje tento soubor, modul ASP.NET Core aplikaci řádně vypne a během nasazování zobrazuje soubor app_offline.htm
. Další informace najdete v referenčních informacích ke konfiguraci modulu ASP.NET Core.
Ručně zastavte fond aplikací ve Správci služby IIS na serveru.
Pomocí PowerShellu vytvořte soubor app_offline.htm
(vyžaduje se PowerShell 5 nebo novější):
$pathToApp = 'PATH_TO_APP'
# Stop the AppPool
New-Item -Path $pathToApp app_offline.htm
# Provide script commands here to deploy the app
# Restart the AppPool
Remove-Item -Path $pathToApp app_offline.htm
Několik middlewarů ASP.NET Core, včetně middlewaru sloužícímu k ověřování, využívá stack ochrany dat ASP.NET Core. I když se v uživatelském kódu nevolají rozhraní Data Protection API, ve skriptu nasazení nebo v uživatelském kódu by měla být nakonfigurovaná ochrana dat, aby se vytvořilo trvalé úložiště kryptografických klíčů. Pokud ochrana dat není nakonfigurovaná, klíče se uchovávají v paměti a při restartování aplikace se zahodí.
Pokud se svazek klíčů uchovává v paměti, při restartování aplikace se stane následující:
Pokud chcete v rámci služby IIS nakonfigurovat ochranu dat pro zachování svazku klíčů, použijte jeden z následujících postupů:
Vytvoření klíčů registru pro ochranu dat
Klíče ochrany dat používané aplikacemi ASP.NET Core se uchovávají v registru mimo aplikace. Pokud chcete zachovat klíče pro určitou aplikaci, vytvořte klíče registru pro daný fond aplikací.
V případě samostatných instalací služby IIS mimo webovou farmu je možné pro jednotlivé fondy aplikací používané v aplikaci ASP.NET Core použít skript PowerShellu pro ochranu dat Provision-AutoGenKeys.ps1. Tento skript vytvoří klíč registru v registru HKLM, který je přístupný pouze pro účet pracovního procesu fondu aplikací aplikace. Klíče jsou šifrovány při uložení pomocí rozhraní DPAPI s klíčem na úrovni celého počítače.
Ve scénářích webové farmy je možné aplikaci nakonfigurovat tak, aby k uchovávání svého svazku klíčů ochrany dat používala cestu UNC. Ve výchozím nastavení nejsou klíče ochrany dat šifrované. Ujistěte se, že jsou oprávnění k souborům ve sdílené síťové složce omezená na účet Windows, pod kterým aplikace běží. K ochraně klíčů v klidu je možné použít X509 certifikát. Zvažte mechanismus, který by uživatelům umožnil nahrávat certifikáty: Umístěte certifikáty do důvěryhodného úložiště certifikátů uživatele a ujistěte se, že jsou k dispozici na všech počítačích, na kterých aplikace uživatele běží. Podrobnosti najdete v tématu Konfigurace ochrany dat ASP.NET Core.
Konfigurace fondu aplikací služby IIS pro načtení profilu uživatele
Toto nastavení najdete v části Upřesňující nastavení fondu aplikací v části Model zpracování. Nastavte možnost Načíst profil uživatele na hodnotu True
. Pokud je nastavená hodnota True
, klíče se uchovávají v adresáři profilu uživatele a jsou chráněné pomocí rozhraní Data Protection API a klíče specifického pro daný uživatelský účet. Klíče se uchovávají ve složce %LOCALAPPDATA%/ASP.NET/DataProtection-Keys.
Musí být povolený také atribut setProfileEnvironment fondu aplikací. Výchozí hodnota atributu setProfileEnvironment
je true
. V některých scénářích (například v operačním systému Windows) je atribut setProfileEnvironment
nastavený na hodnotu false
. Pokud se klíče neuchovávají v adresáři profilu uživatele podle očekávání:
<system.applicationHost><applicationPools><applicationPoolDefaults><processModel>
.setProfileEnvironment
, aby se použila výchozí hodnota true
, nebo explicitně nastavte hodnotu tohoto atributu na true
.Použití systému souborů jako úložiště svazku klíčů
Upravte kód aplikace tak, aby se jako úložiště svazku klíčů používal systém souborů. K zajištění ochrany svazku klíčů použijte certifikát X509 a ujistěte se, že se jedná o důvěryhodný certifikát. Pokud je certifikát podepsaný svým držitelem, umístěte certifikát do důvěryhodného kořenového úložiště.
Pokud používáte službu IIS na webové farmě:
Nastavení zásad na úrovni počítače pro ochranu dat
Systém ochrany dat nabízí omezenou podporu pro nastavení výchozích zásad na úrovni počítače pro všechny aplikace, které využívají rozhraní Data Protection API. Další informace najdete v tématu Přehled ochrany dat ASP.NET Core.
Aplikace ASP.NET Core nepodporují virtuální adresáře služby IIS. Aplikaci je možné hostovat jako dílčí aplikaci.
Aplikaci ASP.NET Core je možné hostovat jako dílčí aplikaci služby IIS. Cesta k dílčí aplikaci se stane součástí adresy URL kořenové aplikace.
V odkazech na statické prostředky v rámci dílčí aplikace by se měla používat notace znaku tildy s lomítkem (~/
). Notace znaku tildy s lomítkem aktivuje pomocnou rutinu značky, která před vykreslený relativní odkaz přidá základ cesty dílčí aplikace. V případě dílčí aplikace v cestě /subapp_path
se odkaz na obrázek src="~/image.png"
vykreslí jako src="/subapp_path/image.png"
. Middleware Static File kořenové aplikace nezpracovává požadavky na statické soubory. Tyto požadavky zpracovává middleware Static File dílčí aplikace.
Pokud je atribut src
statického prostředku nastavený na absolutní cestu (například src="/image.png"
), odkaz se vykreslí bez základu cesty dílčí aplikace. Middleware Static File kořenové aplikace se pokusí získat prostředek z kořenového adresáře webu kořenové aplikace, což bude mít za následek odpověď 404 – Nenalezeno, pokud daný statický prostředek není dostupný z kořenové aplikace.
Hostování aplikace ASP.NET Core jako dílčí aplikace v rámci jiné aplikace ASP.NET Core:
Vytvořte pro dílčí aplikaci fond aplikací. Nastavte verzi .NET CLR na hodnotu Bez spravovaného kódu, protože pro účely hostování aplikace v pracovním procesu se spustí modul CoreCLR (Core Common Language Runtime) pro .NET Core, a ne desktopový modul CLR (.NET CLR).
Přidejte kořenový web s dílčí aplikací v podsložce do Správce služby IIS.
Ve Správci služby IIS klikněte pravým tlačítkem na složku dílčí aplikace a vyberte Převést na aplikaci.
V dialogovém okně Přidat aplikaci pomocí tlačítka Vybrat u možnosti Fond aplikací přiřaďte dílčí aplikaci fond aplikací, který jste pro ni vytvořili. Vyberte OK.
Přiřazení samostatného fondu aplikací dílčí aplikaci je podmínkou pro použití modelu vnitroprocesového hostování.
Další informace o modelu vnitroprocesového hostování a konfiguraci modulu ASP.NET Core najdete v tématu Modul ASP.NET Core (ANCM) pro službu IIS.
Ve scénářích služby IIS, které jsou funkční pro aplikace ASP.NET Core s modulem ASP.NET Core, konfiguraci služby IIS ovlivňuje oddíl <system.webServer>
souboru web.config. Konfigurace služby IIS je například funkční pro dynamickou kompresi. Pokud je služba IIS na úrovni serveru nakonfigurovaná tak, aby používala dynamickou kompresi, element <urlCompression>
v souboru web.config aplikace ASP.NET Core ji může pro danou aplikaci zakázat.
Další informace naleznete v následujících tématech:
Pokud chcete nastavit proměnné prostředí pro jednotlivé aplikace běžící v izolovaných fondech aplikací (podporuje služba IIS 10.0 nebo novější), projděte si část Příkaz AppCmd.exe v tématu Proměnné prostředí <environmentVariables> v referenční dokumentaci ke službě IIS.
Aplikace ASP.NET Core ke konfiguraci nepoužívají oddíly konfigurace aplikací ASP.NET v souboru web.config:
<system.web>
<appSettings>
<connectionStrings>
<location>
Aplikace ASP.NET Core se konfigurují pomocí jiných poskytovatelů konfigurace. Další informace najdete v tématu Konfigurace a Nastavení konfigurace .NET Core za běhu.
Izolaci fondů aplikací určuje model hostování:
V dialogovém okně Přidat web je ve výchozím nastavení nastavený jeden fond aplikací na aplikaci. Text zadaný do pole Název webu se automaticky přenese do textového pole Fond aplikací. Při přidání webu se vytvoří nový fond aplikací s použitím názvu webu.
Účet identity fondu aplikací umožňuje aplikaci spouštět pod jedinečným účtem bez nutnosti vytvářet a spravovat domény nebo místní účty. Ve službě IIS 8.0 nebo novější pracovní proces správce služby IIS (WAS) ve výchozím nastavení vytvoří virtuální účet s názvem nového fondu aplikací a spouští pracovní procesy fondu aplikací pod tímto účtem. V konzole pro správu služby IIS v části Upřesnit nastavení fondu aplikací se ujistěte, že Identity je nastavená na použití ApplicationPoolIdentity:
Proces správy služby IIS vytvoří v systému zabezpečení Windows zabezpečený identifikátor s názvem fondu aplikací. Prostředky je možné zabezpečit pomocí této identity. Tato identita ale není skutečným uživatelským účtem a nezobrazuje se v konzole pro správu uživatelů systému Windows.
Pokud pracovní proces služby IIS vyžaduje k aplikaci přístup se zvýšenými oprávněními, upravte seznam řízení přístupu (ACL) pro adresář obsahující aplikaci:
Otevřete Průzkumníka Windows a přejděte do příslušného adresáře.
Klikněte na adresář pravým tlačítkem a vyberte Vlastnosti.
Na kartě Zabezpečení vyberte tlačítko Upravit a pak tlačítko Přidat.
Vyberte tlačítko Umístění a ujistěte se, že je vybraný systém.
V oblasti IIS AppPool\{APP POOL NAME}
zadejte {APP POOL NAME}
, kde zástupný symbol je název fondu aplikací. Vyberte tlačítko Kontrola názvů. V případě fondu aplikací DefaultAppPool ke kontrole názvů použijte IIS AppPool\DefaultAppPool
. Po výběru tlačítka Kontrola názvů se v oblasti názvů objektů označí hodnota DefaultAppPool
. Název fondu aplikací není možné zadat přímo do oblasti názvů objektů. Při kontrole názvu objektu použijte formát IIS AppPool\{APP POOL NAME}
, kde zástupný symbol {APP POOL NAME}
je název fondu aplikací.
Vyberte OK.
Oprávnění ke čtení a spuštění by měla být ve výchozím nastavení udělena. Podle potřeby udělte další oprávnění.
Přístup je možné udělit také na příkazovém řádku pomocí nástroje ICACLS. Například v případě fondu aplikací DefaultAppPool
je možné použít následující příkaz:
ICACLS C:\sites\MyWebApp /grant "IIS AppPool\DefaultAppPool":F
Další informace najdete v tématu icacls.
ASP.NET Core podporuje HTTP/2 v následujících scénářích nasazení služby IIS:
V případě vnitroprocesového nasazení vlastnost HttpRequest.Protocol
po navázání připojení HTTP/2 bude obsahovat hodnotu HTTP/2
. V případě mimoprocesového nasazení vlastnost HttpRequest.Protocol
po navázání připojení HTTP/2 bude obsahovat hodnotu HTTP/1.1
.
Další informace o modelech vnitroprocesového a mimoprocesového hostování najdete v tématu Modul ASP.NET Core (ANCM) pro službu IIS.
Ve výchozím nastavení je protokol HTTP/2 povolený. Pokud není možné navázat připojení HTTP/2, naváže se připojení HTTP/1.1. Další informace o konfiguraci HTTP/2 v nasazeních služby IIS najdete v tématu HTTP/2 ve službě IIS.
Tato část se týká pouze aplikací ASP.NET Core, které cílí na .NET Framework.
V případě aplikace ASP.NET Core, která cílí na .NET Framework, se ve službě IIS ve výchozím nastavení nepředávají do aplikace požadavky OPTIONS. Informace o konfiguraci obslužných rutin služby IIS aplikace v souboru web.config
pro předávání požadavků OPTIONS najdete v části Povolení požadavků z různých zdrojů v rozhraní ASP.NET Web API 2: Jak funguje CORS.
Při hostování ve službě IIS s využitím modulu ASP.NET Core verze 2:
Platí pro aplikace hostované vnitroprocesově i mimoprocesově.
Inicializace aplikace služby IIS je funkce služby IIS, která do aplikace odešle požadavek HTTP, když se spustí nebo recykluje fond aplikací. Tento požadavek aktivuje spuštění aplikace. Služba IIS za účelem inicializace aplikace ve výchozím nastavení odešle požadavek na kořenovou adresu URL aplikace (/
). Další podrobnosti o konfiguraci najdete v části Další zdroje informací.
Ověřte, že je povolená funkce role Inicializace aplikace služby IIS:
Desktopové systémy Windows 7 nebo novější, pokud používáte službu IIS místně:
Windows Server 2008 R2 nebo novější:
K povolení modulu Inicializace aplikace pro web použijte některý z následujících přístupů:
Ve Správci služby IIS:
Přidejte element web.config
s atributem <applicationInitialization>
nastaveným na hodnotu doAppInitAfterRestart
mezi elementy true
v souboru <system.webServer>
aplikace:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<applicationInitialization doAppInitAfterRestart="true" />
</system.webServer>
</location>
</configuration>
Platí pouze pro aplikace hostované vnitroprocesově.
Pokud chcete zabránit nečinnosti aplikace, pomocí Správce služby IIS nastavte časový limit nečinnosti fondu aplikací:
Pokud chcete zabránit vypršení časového limitu aplikací hostovaných mimoprocesově, použijte některý z následujících přístupů:
Kurz publikování aplikace ASP.NET Core na serveru služby IIS najdete tady: Publikování aplikace ASP.NET Core ve službě IIS.
Instalace sady pro hosting .NET Core
Podporovány jsou následující operační systémy:
Server HTTP.sys (dříve označovaný jako WebListener) nefunguje se službou IIS v konfiguraci reverzního proxy serveru. Použijte server Kestrel.
Informace o hostování v Azure najdete v tématu Nasazování aplikací ASP.NET Core v Azure App Service.
Doprovodné materiály k řešení potíží najdete v tématu Řešení potíží s projekty ASP.NET Core a jejich ladění.
Podporují se aplikace publikované pro 32bitové (x86) nebo 64bitové (x64) nasazení. Nasaďte 32bitovou aplikaci s 32bitovou (x86) sadou .NET Core SDK, pokud aplikace:
K publikování 64bitové aplikace použijte 64bitovou (x64) sadu .NET Core SDK. V hostitelském systému musí být k dispozici 64bitový modul runtime.
ASP.NET Core se dodává se serverem Kestrel, což je výchozí multiplatformní server HTTP.
Při použití služby IIS nebo IIS Express se Kestrel aplikace běží v procesu odděleném od pracovního procesu služby IIS (mimoprocesově).
Vzhledem k tomu, že aplikace ASP.NET Core běží v procesu odděleném od pracovního procesu služby IIS, zajišťuje správu procesů modul. Modul zahájí tento proces pro aplikaci ASP.NET Core při přijetí prvního požadavku a v případě vypnutí nebo selhání aplikaci restartuje. Jedná se v podstatě o stejné chování jako u aplikací, které běží vnitroprocesově a jsou spravované Aktivační službou procesů systému Windows (WAS).
Následující diagram znázorňuje vztah mezi službou IIS, modulem ASP.NET Core a mimoprocesově hostovanou aplikací:
Požadavky přijdou z webu do ovladače HTTP.sys v režimu jádra. Ovladač přesměruje požadavek do služby IIS na nakonfigurovaném portu webu, obvykle 80 (HTTP) nebo 443 (HTTPS). Modul předá požadavky na server Kestrel na náhodném portu dané aplikace mimo porty 80 a 443.
Modul tento port určí při spuštění prostřednictvím proměnné prostředí a middleware IIS Integration nakonfiguruje server tak, aby naslouchal na adrese http://localhost:{port}
. Provedou se další kontroly a požadavky, které nepocházejí z tohoto modulu, se zamítnou. Modul nepodporuje předávání HTTPS, takže se požadavky předávají přes HTTP, i když je služba IIS přijme přes HTTPS.
Jakmile server Kestrel přijme požadavek z modulu, požadavek se odešle do kanálu middlewaru ASP.NET Core. Kanál middlewaru požadavek zpracuje a předá ho jako instanci HttpContext
do logiky aplikace. Middleware přidaný integrací služby IIS aktualizuje schéma, vzdálenou IP adresu a základ cesty k účtu pro přesměrování požadavku na server Kestrel. Odpověď aplikace se předá zpět do služby IIS, která ji odešle klientovi HTTP, který požadavek inicioval.
Metoda CreateDefaultBuilder
nakonfiguruje server Kestrel jako webový server a umožní integraci služby IIS tím, že nakonfiguruje základní cestu a port pro modul ASP.NET Core.
Modul ASP.NET Core vygeneruje dynamický port, který se přiřadí procesu na pozadí. Metoda CreateDefaultBuilder
zavolá metodu UseIISIntegration. Metoda UseIISIntegration
nakonfiguruje server Kestrel tak, aby naslouchal na dynamickém portu a IP adrese místního hostitele (127.0.0.1
). Pokud je dynamický port 1234, server Kestrel naslouchá na adrese 127.0.0.1:1234
. Tato konfigurace nahradí ostatní konfigurace adresy URL z následujících zdrojů:
Při používání modulu se nevyžaduje volání metody UseUrls
ani rozhraní KestrelListen
API. Pokud se volá metoda UseUrls
nebo rozhraní Listen
API, Kestrel naslouchá na zadaném portu pouze v případě, že je aplikace spuštěná bez služby IIS.
Doprovodné materiály ke konfiguraci modulu ASP.NET Core najdete v tématu Modul ASP.NET Core (ANCM) pro službu IIS.
Další informace o hostování najdete v části Hostitel v ASP.NET Core.
Pokud chcete povolit integraci služby IIS, při sestavování hostitele v metodě CreateWebHostBuilder
(Program.cs
) zavolejte metodu CreateDefaultBuilder:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
...
Další informace o metodě CreateDefaultBuilder
najdete v tématu Webový hostitel ASP.NET Core.
Možnost | Výchozí | Nastavení |
---|---|---|
AutomaticAuthentication |
true |
Pokud je nastavená hodnota true , server služby IIS nastaví objekt HttpContext.User , který se ověřuje pomocí Integrovaného ověřování Windows. Pokud false , server poskytuje identitu pouze pro HttpContext.User a reaguje na výzvy, pokud je výslovně požaduje AuthenticationScheme . Aby fungovala možnost AutomaticAuthentication , ve službě IIS musí být povolené Integrované ověřování Windows. Další informace najdete v tématu Integrované ověřování Windows. |
AuthenticationDisplayName |
null |
Nastaví zobrazovaný název, který se zobrazí uživatelům na přihlašovacích stránkách. |
Pokud chcete nakonfigurovat možnosti služby IIS, vložte konfiguraci služby pro třídu IISOptions do souboru ConfigureServices. Následující příklad zabrání aplikaci vyplnit hodnotu HttpContext.Connection.ClientCertificate
:
services.Configure<IISOptions>(options =>
{
options.ForwardClientCertificate = false;
});
Možnost | Výchozí | Nastavení |
---|---|---|
AutomaticAuthentication |
true |
Pokud je nastavená hodnota true , middleware IIS Integration nastaví objekt HttpContext.User , který se ověřuje pomocí Integrovaného ověřování Windows. Pokud false , middleware poskytuje identitu pouze pro HttpContext.User a reaguje na výzvy, pokud je výslovně požaduje AuthenticationScheme . Aby fungovala možnost AutomaticAuthentication , ve službě IIS musí být povolené Integrované ověřování Windows. Další informace najdete v tématu Integrované ověřování Windows. |
AuthenticationDisplayName |
null |
Nastaví zobrazovaný název, který se zobrazí uživatelům na přihlašovacích stránkách. |
ForwardClientCertificate |
true |
Pokud je nastavená hodnota true a je k dispozici hlavička požadavku MS-ASPNETCORE-CLIENTCERT , vyplní se hodnota HttpContext.Connection.ClientCertificate . |
Middleware IIS Integration, který konfiguruje middleware Forwarded Headers, a modul ASP.NET Core se konfigurují tak, aby předávaly schéma (HTTP/HTTPS) a vzdálenou IP adresu, odkud požadavek pochází. Aplikace hostované za dalšími proxy servery a nástroji pro vyrovnávání zatížení můžou vyžadovat další konfiguraci. Další informace najdete v tématu Konfigurace ASP.NET Core pro práci s proxy servery a nástroji pro vyrovnávání zatížení.
V souboru web.config se konfiguruje modul ASP.NET Core. Vytvoření, transformaci a publikování souboru web.config při publikování projektu zajišťuje cíl nástroje MSBuild (_TransformWebConfig
). Tento cíl je k dispozici v cílech sady Web SDK (Microsoft.NET.Sdk.Web
). Sada SDK se nastavuje na začátku souboru projektu:
<Project Sdk="Microsoft.NET.Sdk.Web">
Pokud v projektu není k dispozici soubor web.config, vytvoří se s použitím správných parametrů processPath a arguments pro konfiguraci modulu ASP.NET Core a přesune se do publikovaného výstupu.
Pokud v projektu je k dispozici soubor web.config, transformuje se s použitím správných parametrů processPath a arguments pro konfiguraci modulu ASP.NET Core a přesune se do publikovaného výstupu. Transformace nezmění nastavení konfigurace služby IIS v souboru.
Soubor web.config může obsahovat další nastavení konfigurace služby IIS, které řídí aktivní moduly služby IIS. Informace o modulech služby IIS, které jsou schopné zpracovávat požadavky v aplikacích ASP.NET Core, najdete v tématu Moduly služby IIS.
Pokud chcete sadě Web SDK zabránit v transformaci souboru web.config, použijte v souboru projektu vlastnost <IsTransformWebConfigDisabled>:
<PropertyGroup>
<IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
</PropertyGroup>
Pokud se sadě Web SDK zakáže transformace tohoto souboru, musí parametry processPath a arguments ručně nastavit vývojář. Další informace najdete v tématu Modul ASP.NET Core (ANCM) pro službu IIS.
Aby bylo možné správně nastavit modul ASP.NET Core, musí se soubor web.config nacházet v cestě ke kořenové složce obsahu (obvykle základní cesta aplikace) nasazené aplikace. Jedná se o stejné umístění jako fyzická cesta k webu poskytnutá službě IIS. Soubor web.config se musí nacházet v kořenovém adresáři aplikace, aby bylo možné publikovat více aplikací pomocí Nasazení webu.
Citlivé soubory, jako jsou <assembly>.runtimeconfig.json, <assembly>.xml (komentáře k dokumentaci XML) a <assembly>.deps.json, se nacházejí ve fyzické cestě k aplikaci. Pokud je k dispozici soubor web.config a web se normálně spustí, služba IIS neobsluhuje požadavky na tyto citlivé soubory. Pokud soubor web.config chybí, má nesprávný název nebo nemůže nakonfigurovat web pro normální spuštění, služba IIS může veřejně zobrazovat citlivé soubory.
Soubor web.config se vždy musí nacházet v nasazení, musí mít správný název a musí být schopný nakonfigurovat web pro normální spuštění. Nikdy neodebírejte soubor web.config z produkčního nasazení.
Pokud potřebujete při publikování transformovat soubor web.config (například nastavit proměnné prostředí na základě konfigurace, profilu nebo prostředí), projděte si téma Transformace souboru web.config.
Serverové operační systémy Windows
Povolte roli serveru Webový server (služba IIS) a vytvořte služby role.
Použijte průvodce přidáním rolí a funkcí z nabídky Správa nebo odkazu ve Správci serveru. V kroku Role serveru zaškrtněte políčko u možnosti Webový server (služba IIS).
Po kroku Funkce se načte krok Služby role pro roli Webový server (služba IIS). Vyberte požadované služby role služby IIS nebo přijměte uvedené výchozí služby role.
Integrované ověřování Windows (volitelné)
Pokud chcete povolit Integrované ověřování Windows, rozbalte následující uzly: Webový server>Zabezpečení. Vyberte funkci Integrované ověřování Windows. Další informace najdete v tématu Integrované ověřování Windows <windowsAuthentication> a Konfigurace Integrovaného ověřování Windows.
WebSocket (volitelné)
Protokol WebSocket se podporuje v ASP.NET Core 1.1 nebo novější verzi. Pokud chcete povolit protokol WebSocket, rozbalte následující uzly: Webový server>Vývoj aplikací. Vyberte funkci Protokol WebSocket. Další informace najdete v tématu WebSocket.
Pokračujte krokem Potvrzení a nainstalujte roli a služby webového serveru. Po dokončení instalace role Webový server (služba IIS) se nevyžaduje restartování serveru ani služby IIS.
Desktopové operační systémy Windows
Povolte konzolu pro správu služby IIS a webové služby.
Přejděte do části Ovládací panely>Programy>Programy a funkce>Zapnout nebo vypnout funkce systému Windows (na levé straně obrazovky).
Otevřete uzel Internetová informační služba. Otevřete uzel Nástroje webové správy.
Zaškrtněte políčko u možnosti Konzola pro správu služby IIS.
Zaškrtněte políčko u možnosti Webové služby.
Přijměte výchozí funkce pro Webové služby nebo si přizpůsobte funkce služby IIS.
Integrované ověřování Windows (volitelné)
Pokud chcete povolit Integrované ověřování Windows, rozbalte následující uzly: Webové služby>Zabezpečení. Vyberte funkci Integrované ověřování Windows. Další informace najdete v tématu Integrované ověřování Windows <windowsAuthentication> a Konfigurace Integrovaného ověřování Windows.
WebSocket (volitelné)
Protokol WebSocket se podporuje v ASP.NET Core 1.1 nebo novější verzi. Pokud chcete povolit protokol WebSocket, rozbalte následující uzly: Webové služby>Funkce pro vývoj aplikací. Vyberte funkci Protokol WebSocket. Další informace najdete v tématu WebSocket.
Pokud instalace služby IIS vyžaduje restartování, restartujte systém.
Nainstalujte v hostitelském systému sadu pro hosting .NET Core. Tato sada nainstaluje modul runtime .NET, knihovnu .NET Core a modul ASP.NET Core. Modul umožňuje provoz aplikací ASP.NET Core za službou IIS.
Důležité
V případě instalace sady pro hosting před instalací služby IIS je potřeba instalaci sady připravit. Po dokončení instalace služby IIS znovu spusťte instalační program sady pro hosting.
Pokud se sada pro hosting nainstaluje po instalaci 64bitové (x64) verze .NET Core, může se zdát, že sady SDK chybí (Nezjistily se žádné sady SDK). Pokud chcete tento problém vyřešit, projděte si téma Řešení potíží s projekty ASP.NET Core a jejich ladění.
Upozornění
Některé instalační programy obsahují verze po konci životnosti (EOL), které už Microsoft nepodporuje. Další informace najdete v části věnované zásadám podpory.
Spusťte na serveru instalační program. Při spuštění instalačního programu z příkazového prostředí správce jsou k dispozici následující parametry:
OPT_NO_ANCM=1
: Přeskočí se instalace modulu ASP.NET Core.OPT_NO_RUNTIME=1
: Přeskočí se instalace modulu runtime .NET Core. Používá se v případě, že je server hostitelem pouze samostatných nasazení (SCD).OPT_NO_SHAREDFX=1
: Přeskočí se instalace sdílené architektury ASP.NET (modul runtime ASP.NET). Používá se v případě, že je server hostitelem pouze samostatných nasazení (SCD).OPT_NO_X86=1
: Přeskočí se instalace modulů runtime x86. Tento parametr použijte, pokud víte, že nebudete hostovat 32bitové aplikace. Pokud existuje možnost, že budete v budoucnu hostovat 32bitové i 64bitové aplikace, nepoužívejte tento parametr a nainstalujte oba moduly runtime.OPT_NO_SHARED_CONFIG_CHECK=1
: Zakáže se kontrola používání sdílené konfigurace služby IIS, pokud je sdílená konfigurace (applicationHost.config) na stejném počítači jako instalace služby IIS. Tento parametr je k dispozici pouze v instalačních programech sady pro hostování ASP.NET Core 2.2 nebo novější verze. Další informace najdete v tématu Modul ASP.NET Core (ANCM) pro službu IIS.Restartujte systém nebo v příkazovém prostředí spusťte následující příkazy:
net stop was /y
net start w3svc
Při restartování služby IIS se zachytí změna systémové cesty, což je proměnná prostředí PATH, kterou provedl instalační program.
Při instalaci sady pro hosting není nutné ručně zastavovat jednotlivé weby ve službě IIS. Hostované aplikace (weby služby IIS) se restartují při restartování služby IIS. Aplikace se znovu spustí při přijetí prvního požadavku, včetně požadavku z modulu Inicializace aplikace.
ASP.NET Core u verzí oprav balíčků sdílené architektury uplatňuje dopředné posouvání. Když se aplikace hostované službou IIS restartují spolu se službou IIS, při přijetí prvního požadavku se aplikace načtou s nejnovější verzí oprav balíčků, na které odkazují. Pokud se služba IIS nerestartuje, aplikace se restartují a dojde u nich k dopřednému posunu po recyklaci jejich pracovních procesů a přijetí prvního požadavku.
Poznámka
Informace o sdílené konfiguraci služby IIS najdete v tématu Modul ASP.NET Core se sdílenou konfigurací služby IIS.
Pokud k nasazování aplikací na servery používáte Nasazení webu, nainstalujte na server nejnovější verzi Nasazení webu. K instalaci nasazení webu použijte instalační program webové platformy (WebPI) nebo soubory ke stažení služby IIS: Nasazení webu. Upřednostňovanou metodou je použít nástroj WebPI. WebPI nabízí samostatnou instalaci a konfiguraci pro poskytovatele hostingu.
V hostitelském systému vytvořte složku, která bude obsahovat publikované soubory a složky aplikace. V následujícím kroku se cesta k této složce poskytne službě IIS jako fyzická cesta k aplikaci. Další informace o složce pro nasazení aplikace a rozložení souborů najdete v tématu Adresářová struktura ASP.NET Core.
Ve Správci služby IIS otevřete uzel serveru na panelu Připojení. Klikněte pravým tlačítkem na složku Weby. V místní nabídce vyberte Přidat web.
Zadejte Název webu a nastavte fyzickou cestu ke složce pro nasazení aplikace. Zadejte konfiguraci vazby a výběrem možnosti OK web vytvořte:
Upozornění
Vazby nejvyšší úrovně se zástupnými znaky (http://*:80/
a http://+:80
) by se neměly používat. Vazby nejvyšší úrovně se zástupnými znaky můžou vaši aplikaci vystavit ohrožení zabezpečení. Týká se to silných i slabých zástupných znaků. Místo zástupných znaků používejte explicitní názvy hostitelů. Vazeb subdomén se zástupnými znaky (například *.mysub.com
) se toto bezpečnostní riziko netýká, pokud máte kontrolu nad celou nadřazenou doménou (na rozdíl od vazby *.com
, která je zranitelná). Další informace najdete v dokumentu RFC 9110: Sémantika HTTP (oddíl 7.2: Hostitel a :autorita).
Pod uzlem serveru vyberte Fondy aplikací.
Klikněte pravým tlačítkem na fond aplikací webu a v místní nabídce vyberte Základní nastavení.
V okně Upravit fond aplikací nastavte verzi .NET CLR na hodnotu Bez spravovaného kódu:
ASP.NET Core běží v samostatném procesu a spravuje modul runtime. ASP.NET Core nespoléhá na načítání desktopového modulu CLR (.NET CLR) – pro účely hostování aplikace v pracovním procesu se spustí modul CoreCLR (Core Common Language Runtime) pro .NET Core. Nastavení verze .NET CLR na hodnotu Bez spravovaného kódu je volitelné, ale doporučuje se.
ASP.NET Core 2.2 nebo novější: V případě 64bitového (x64) samostatného nasazení, které využívá model vnitroprocesového hostování, zakažte fond aplikací pro 32bitové (x86) procesy.
V části Správce služby IIS > na bočním panelu Akce vyberte Nastavit výchozí hodnoty fondu aplikací nebo Upřesňující nastavení. Vyhledejte možnost Povolit 32bitové aplikace a nastavte ji na hodnotu False
. Toto nastavení nemá vliv na aplikace nasazené pro mimoprocesové hostování.
Ověřte, že identita modelu procesu má správná oprávnění.
Pokud se výchozí identita fondu aplikací (procesový model>Identity) změní z ApplicationPoolIdentity na jinou identitu, ověřte, že nová identita má požadovaná oprávnění pro přístup ke složce, databázi a dalším požadovaným prostředkům aplikace. Fond aplikací například vyžaduje oprávnění ke čtení a zápisu ve složkách, ve kterých aplikace čte a zapisuje soubory.
Konfigurace Integrovaného ověřování Windows (volitelné)
Další informace najdete v tématu Konfigurace Integrovaného ověřování Windows.
Nasaďte aplikaci ve službě IIS do složky ve fyzické cestě, kterou jste vytvořili v části Vytvoření webu služby IIS. K nasazení doporučujeme použít Nasazení webu, ale existují různé možnosti, jak přesunout aplikaci ze složky publish projektu do složky pro nasazení v hostitelském systému.
Informace o vytvoření profilu publikování pro použití s Nasazením webu najdete v tématu Profily publikování sady Visual Studio pro nasazení aplikace ASP.NET Core. Pokud poskytovatel hostingu nabízí profil publikování nebo podporuje jeho vytvoření, stáhněte si jeho profil a importujte ho v dialogovém okně Publikovat sady Visual Studio:
Nasazení webu je možné používat také mimo sadu Visual Studio prostřednictvím příkazového řádku. Další informace najdete v tématu Nástroj Nasazení webu.
K přesunu aplikace do hostitelského systému můžete použít několik různých metod, mezi které patří ruční kopírování, Xcopy, Robocopy nebo PowerShell.
Další informace o nasazení ASP.NET Core ve službě IIS najdete v části Zdroje informací o nasazení pro správce služby IIS.
Po nasazení aplikace v hostitelském systému odešlete požadavek na některý z veřejných koncových bodů aplikace.
V následujícím příkladu je web vázán na název hostitele služby IIS na www.mysite.com
.80
Požadavek se odešle na adresu http://www.mysite.com
:
Když je aplikace spuštěná, soubory ve složce pro nasazení jsou uzamčené. Uzamčené soubory není možné během nasazování přepsat. Pokud chcete uvolnit uzamčené soubory v nasazení, jedním z následujících způsobů zastavte fond aplikací:
Použijte Nasazení webu a do souboru projektu přidejte odkaz na Microsoft.NET.Sdk.Web
. Do kořenového adresáře webové aplikace se umístí soubor app_offline.htm
. Pokud existuje tento soubor, modul ASP.NET Core aplikaci řádně vypne a během nasazování zobrazuje soubor app_offline.htm
. Další informace najdete v referenčních informacích ke konfiguraci modulu ASP.NET Core.
Ručně zastavte fond aplikací ve Správci služby IIS na serveru.
Pomocí PowerShellu vytvořte soubor app_offline.htm
(vyžaduje se PowerShell 5 nebo novější):
$pathToApp = 'PATH_TO_APP'
# Stop the AppPool
New-Item -Path $pathToApp app_offline.htm
# Provide script commands here to deploy the app
# Restart the AppPool
Remove-Item -Path $pathToApp app_offline.htm
Několik middlewarů ASP.NET Core, včetně middlewaru sloužícímu k ověřování, využívá stack ochrany dat ASP.NET Core. I když se v uživatelském kódu nevolají rozhraní Data Protection API, ve skriptu nasazení nebo v uživatelském kódu by měla být nakonfigurovaná ochrana dat, aby se vytvořilo trvalé úložiště kryptografických klíčů. Pokud ochrana dat není nakonfigurovaná, klíče se uchovávají v paměti a při restartování aplikace se zahodí.
Pokud se svazek klíčů uchovává v paměti, při restartování aplikace se stane následující:
Pokud chcete v rámci služby IIS nakonfigurovat ochranu dat pro zachování svazku klíčů, použijte jeden z následujících postupů:
Vytvoření klíčů registru pro ochranu dat
Klíče ochrany dat používané aplikacemi ASP.NET Core se uchovávají v registru mimo aplikace. Pokud chcete zachovat klíče pro určitou aplikaci, vytvořte klíče registru pro daný fond aplikací.
V případě samostatných instalací služby IIS mimo webovou farmu je možné pro jednotlivé fondy aplikací používané v aplikaci ASP.NET Core použít skript PowerShellu pro ochranu dat Provision-AutoGenKeys.ps1. Tento skript vytvoří klíč registru v registru HKLM, který je přístupný pouze pro účet pracovního procesu fondu aplikací aplikace. Klíče jsou šifrovány v klidu pomocí DPAPI s klíčem na úrovni celého počítače.
Ve scénářích webové farmy je možné aplikaci nakonfigurovat tak, aby k uchovávání svého svazku klíčů ochrany dat používala cestu UNC. Ve výchozím nastavení nejsou klíče ochrany dat šifrované. Ujistěte se, že jsou oprávnění k souborům ve sdílené síťové složce omezená na účet Windows, pod kterým aplikace běží. K ochraně klíčů v nečinnosti lze použít certifikát X509. Zvažte mechanismus, který by uživatelům umožnil nahrávat certifikáty: Umístěte certifikáty do důvěryhodného úložiště certifikátů uživatele a ujistěte se, že jsou k dispozici na všech počítačích, na kterých aplikace uživatele běží. Podrobnosti najdete v tématu Konfigurace ochrany dat ASP.NET Core.
Konfigurace fondu aplikací služby IIS pro načtení profilu uživatele
Toto nastavení najdete v části Upřesňující nastavení fondu aplikací v části Model zpracování. Nastavte možnost Načíst profil uživatele na hodnotu True
. Pokud je nastavená hodnota True
, klíče se uchovávají v adresáři profilu uživatele a jsou chráněné pomocí rozhraní Data Protection API a klíče specifického pro daný uživatelský účet. Klíče se uchovávají ve složce %LOCALAPPDATA%/ASP.NET/DataProtection-Keys.
Musí být povolený také atribut setProfileEnvironment fondu aplikací. Výchozí hodnota atributu setProfileEnvironment
je true
. V některých scénářích (například v operačním systému Windows) je atribut setProfileEnvironment
nastavený na hodnotu false
. Pokud se klíče neuchovávají v adresáři profilu uživatele podle očekávání:
<system.applicationHost><applicationPools><applicationPoolDefaults><processModel>
.setProfileEnvironment
, aby se použila výchozí hodnota true
, nebo explicitně nastavte hodnotu tohoto atributu na true
.Použití systému souborů jako úložiště svazku klíčů
Upravte kód aplikace tak, aby se jako úložiště svazku klíčů používal systém souborů. K zajištění ochrany svazku klíčů použijte certifikát X509 a ujistěte se, že se jedná o důvěryhodný certifikát. Pokud je certifikát podepsaný svým držitelem, umístěte certifikát do důvěryhodného kořenového úložiště.
Pokud používáte službu IIS na webové farmě:
Nastavení zásad na úrovni počítače pro ochranu dat
Systém ochrany dat nabízí omezenou podporu pro nastavení výchozích zásad na úrovni počítače pro všechny aplikace, které využívají rozhraní Data Protection API. Další informace najdete v tématu Přehled ochrany dat ASP.NET Core.
Aplikace ASP.NET Core nepodporují virtuální adresáře služby IIS. Aplikaci je možné hostovat jako dílčí aplikaci.
Aplikaci ASP.NET Core je možné hostovat jako dílčí aplikaci služby IIS. Cesta k dílčí aplikaci se stane součástí adresy URL kořenové aplikace.
Dílčí aplikace by neměla obsahovat modul ASP.NET Core jako obslužnou rutinu. Pokud se modul přidá jako obslužná rutina v souboru web.config dílčí aplikace, při pokusu o přechodu do dílčí aplikace se zobrazí vnitřní chyba serveru 500.19 s odkazem na chybný konfigurační soubor.
Následující příklad ukazuje publikovaný soubor web.config dílčí aplikace ASP.NET Core:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<aspNetCore processPath="dotnet"
arguments=".\MyApp.dll"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
Pokud v rámci aplikace ASP.NET Core hostujete dílčí aplikaci v jiném jazyce než ASP.NET Core, explicitně odeberte zděděnou obslužnou rutinu v souboru web.config dílčí aplikace:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<remove name="aspNetCore" />
</handlers>
<aspNetCore processPath="dotnet"
arguments=".\MyApp.dll"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
V odkazech na statické prostředky v rámci dílčí aplikace by se měla používat notace znaku tildy s lomítkem (~/
). Notace znaku tildy s lomítkem aktivuje pomocnou rutinu značky, která před vykreslený relativní odkaz přidá základ cesty dílčí aplikace. V případě dílčí aplikace v cestě /subapp_path
se odkaz na obrázek src="~/image.png"
vykreslí jako src="/subapp_path/image.png"
. Middleware Static File kořenové aplikace nezpracovává požadavky na statické soubory. Tyto požadavky zpracovává middleware Static File dílčí aplikace.
Pokud je atribut src
statického prostředku nastavený na absolutní cestu (například src="/image.png"
), odkaz se vykreslí bez základu cesty dílčí aplikace. Middleware Static File kořenové aplikace se pokusí získat prostředek z kořenového adresáře webu kořenové aplikace, což bude mít za následek odpověď 404 – Nenalezeno, pokud daný statický prostředek není dostupný z kořenové aplikace.
Hostování aplikace ASP.NET Core jako dílčí aplikace v rámci jiné aplikace ASP.NET Core:
Vytvořte pro dílčí aplikaci fond aplikací. Nastavte verzi .NET CLR na hodnotu Bez spravovaného kódu, protože pro účely hostování aplikace v pracovním procesu se spustí modul CoreCLR (Core Common Language Runtime) pro .NET Core, a ne desktopový modul CLR (.NET CLR).
Přidejte kořenový web s dílčí aplikací v podsložce do Správce služby IIS.
Ve Správci služby IIS klikněte pravým tlačítkem na složku dílčí aplikace a vyberte Převést na aplikaci.
V dialogovém okně Přidat aplikaci pomocí tlačítka Vybrat u možnosti Fond aplikací přiřaďte dílčí aplikaci fond aplikací, který jste pro ni vytvořili. Vyberte OK.
Přiřazení samostatného fondu aplikací dílčí aplikaci je podmínkou pro použití modelu vnitroprocesového hostování.
Další informace o modelu vnitroprocesového hostování a konfiguraci modulu ASP.NET Core najdete v tématu Modul ASP.NET Core (ANCM) pro službu IIS.
Ve scénářích služby IIS, které jsou funkční pro aplikace ASP.NET Core s modulem ASP.NET Core, konfiguraci služby IIS ovlivňuje oddíl <system.webServer>
souboru web.config. Konfigurace služby IIS je například funkční pro dynamickou kompresi. Pokud je služba IIS na úrovni serveru nakonfigurovaná tak, aby používala dynamickou kompresi, element <urlCompression>
v souboru web.config aplikace ASP.NET Core ji může pro danou aplikaci zakázat.
Další informace naleznete v následujících tématech:
Pokud chcete nastavit proměnné prostředí pro jednotlivé aplikace běžící v izolovaných fondech aplikací (podporuje služba IIS 10.0 nebo novější), projděte si část Příkaz AppCmd.exe v tématu Proměnné prostředí <environmentVariables> v referenční dokumentaci ke službě IIS.
Aplikace ASP.NET Core ke konfiguraci nepoužívají oddíly konfigurace aplikací ASP.NET 4.x v souboru web.config:
<system.web>
<appSettings>
<connectionStrings>
<location>
Aplikace ASP.NET Core se konfigurují pomocí jiných poskytovatelů konfigurace. Další informace najdete v tématu Konfigurace.
Při hostování více webů na jednom serveru doporučujeme jednotlivé aplikace od sebe navzájem izolovat tím, že každá aplikace bude běžet ve vlastním fondu aplikací. V dialogovém okně Přidat web je ve výchozím nastavení nastavená tato konfigurace. Text zadaný do pole Název webu se automaticky přenese do textového pole Fond aplikací. Při přidání webu se vytvoří nový fond aplikací s použitím názvu webu.
Účet identity fondu aplikací umožňuje aplikaci spouštět pod jedinečným účtem bez nutnosti vytvářet a spravovat domény nebo místní účty. Ve službě IIS 8.0 nebo novější pracovní proces správce služby IIS (WAS) ve výchozím nastavení vytvoří virtuální účet s názvem nového fondu aplikací a spouští pracovní procesy fondu aplikací pod tímto účtem. V konzole pro správu služby IIS v části Upřesnit nastavení fondu aplikací se ujistěte, že Identity je nastavená na použití ApplicationPoolIdentity:
Proces správy služby IIS vytvoří v systému zabezpečení Windows zabezpečený identifikátor s názvem fondu aplikací. Prostředky je možné zabezpečit pomocí této identity. Tato identita ale není skutečným uživatelským účtem a nezobrazuje se v konzole pro správu uživatelů systému Windows.
Pokud pracovní proces služby IIS vyžaduje k aplikaci přístup se zvýšenými oprávněními, upravte seznam řízení přístupu (ACL) pro adresář obsahující aplikaci:
Otevřete Průzkumníka Windows a přejděte do příslušného adresáře.
Klikněte na adresář pravým tlačítkem a vyberte Vlastnosti.
Na kartě Zabezpečení vyberte tlačítko Upravit a pak tlačítko Přidat.
Vyberte tlačítko Umístění a ujistěte se, že je vybraný systém.
V oblasti < zadejte IIS AppPool\>název_fondu_aplikací. Vyberte tlačítko Kontrola názvů. V případě fondu aplikací DefaultAppPool ke kontrole názvů použijte IIS AppPool\DefaultAppPool. Po výběru tlačítka Kontrola názvů se v oblasti názvů objektů označí hodnota DefaultAppPool. Název fondu aplikací není možné zadat přímo do oblasti názvů objektů. Při kontrole názvu objektu použijte formát IIS AppPool\<název_fondu_aplikací>.
Vyberte OK.
Oprávnění ke čtení a spuštění by měla být ve výchozím nastavení udělena. Podle potřeby udělte další oprávnění.
Přístup je možné udělit také na příkazovém řádku pomocí nástroje ICACLS. Například v případě fondu aplikací DefaultAppPool je možné použít následující příkaz:
ICACLS C:\sites\MyWebApp /grant "IIS AppPool\DefaultAppPool":F
Další informace najdete v tématu icacls.
HTTP/2 se podporuje u mimoprocesových nasazení, která splňují následující základní požadavky:
Pokud se naváže připojení HTTP/2, vlastnost HttpRequest.Protocol bude obsahovat hodnotu HTTP/1.1
.
Ve výchozím nastavení je protokol HTTP/2 povolený. Pokud není možné navázat připojení HTTP/2, naváže se připojení HTTP/1.1. Další informace o konfiguraci HTTP/2 v nasazeních služby IIS najdete v tématu HTTP/2 ve službě IIS.
Tato část se týká pouze aplikací ASP.NET Core, které cílí na .NET Framework.
V případě aplikace ASP.NET Core, která cílí na .NET Framework, se ve službě IIS ve výchozím nastavení nepředávají do aplikace požadavky OPTIONS. Informace o konfiguraci obslužných rutin služby IIS aplikace v souboru web.config pro předávání požadavků OPTIONS najdete v části Povolení požadavků z různých zdrojů v rozhraní ASP.NET Web API 2: Jak funguje CORS.
Zpětná vazba k produktu ASP.NET Core
ASP.NET Core je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceŠkolení
Modul
Publish an ASP.NET Core app - Training
Learn how to publish an ASP.NET Core app for deployment to a web server or cloud service.
Certifikace
Microsoft Certified: Windows Server Hybrid Administrator Associate - Certifications
As a Windows Server hybrid administrator, you integrate Windows Server environments with Azure services and manage Windows Server in on-premises networks.