Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
Dit is niet de nieuwste versie van dit artikel. Zie de .NET 10-versie van dit artikel voor de huidige release.
Waarschuwing
Deze versie van ASP.NET Core wordt niet meer ondersteund. Zie het .NET- en .NET Core-ondersteuningsbeleid voor meer informatie. Zie de .NET 9-versie van dit artikel voor de huidige release.
Door Sourabh Shirhatti
In dit artikel wordt visual Studio-ondersteuning beschreven voor foutopsporing ASP.NET Core-apps die worden uitgevoerd met IIS op Windows Server. In dit onderwerp wordt uitgelegd hoe u dit scenario inschakelt en een project instelt.
Vereiste voorwaarden
- Visual Studio voor Windows
- workload voor ASP.NET en webontwikkeling
- Platformoverschrijdende ontwikkelworkload van .NET Core
- X.509-beveiligingscertificaat (voor HTTPS-ondersteuning)
IIS inschakelen
- Ga in Windows naarProgramma's>en onderdelen> van het Configuratiescherm> en schakelWindows-functies in of uit (links op het scherm).
- Schakel het selectievakje Internet Information Services in. Kies OK.
Voor de IIS-installatie moet het systeem mogelijk opnieuw worden opgestart.
IIS configureren
IIS moet een website hebben geconfigureerd met het volgende:
-
Hostnaam: Normaal gesproken wordt de standaardwebsite gebruikt met een hostnaam van
localhost. Elke geldige IIS-website met een unieke hostnaam werkt echter wel. -
Sitebinding
- Voor apps waarvoor HTTPS is vereist, maakt u een binding met poort 443 met een certificaat. Normaal gesproken wordt het IIS Express Development Certificate gebruikt, maar elk geldig certificaat werkt.
- Voor apps die HTTP gebruiken, bevestigt u het bestaan van een binding met poort 80 of maakt u een binding met poort 80 voor een nieuwe site.
- Gebruik één binding voor HTTP of HTTPS. Binding met zowel HTTP- als HTTPS-poorten wordt niet ondersteund.
IIS-ondersteuning voor ontwikkelingstijd inschakelen in Visual Studio
Start het Installatieprogramma van Visual Studio.
Selecteer Wijzigen voor de Installatie van Visual Studio die u wilt gebruiken voor IIS-ondersteuning voor ontwikkelingstijd.
Voor de workload voor ASP.NET en webontwikkeling, zoek en installeer het onderdeel Ontwikkelingstijd IIS-ondersteuning.
Het onderdeel wordt vermeld in de sectie Optioneel onder Ondersteuning voor IIS tijdens ontwikkelingstijd in het deelvenster Installatiedetails rechts van de werkbelastingen. Het onderdeel installeert de ASP.NET Core-module. Dit is een systeemeigen IIS-module die is vereist voor het uitvoeren van ASP.NET Core-apps met IIS.
Het project configureren
HTTPS-omleiding
Voor een nieuw project waarvoor HTTPS is vereist, schakelt u het selectievakje in om te configureren voor HTTPS in het venster Een nieuwe ASP.NET Core-webtoepassing maken . Als u het selectievakje inschakelt, worden HTTPS-omleiding en HSTS Middleware toegevoegd aan de app wanneer deze wordt gemaakt.
Voor een bestaand project waarvoor HTTPS is vereist, gebruikt u HTTPS-omleiding en HSTS Middleware in Startup.Configure. Zie HTTPS afdwingen in ASP.NET Corevoor meer informatie.
Voor een project dat gebruikmaakt van HTTP, HTTPS Redirection en HSTS Middleware worden niet toegevoegd aan de app. Er is geen app-configuratie vereist.
IIS-startprofiel
Maak een nieuw startprofiel om IIS-ondersteuning voor ontwikkelingstijd toe te voegen:
Klik met de rechtermuisknop op het project in Solution Explorer. Selecteer Eigenschappen. Open het tabblad Debug.
Selecteer voor Profiel de knop Nieuw . Geef het profiel de naam IIS in het pop-upvenster. Selecteer OK om het profiel te maken.
Selecteer IIS in de lijst voor de instelling Starten.
Schakel het selectievakje voor de startbrowser in en geef de eindpunt-URL op.
Wanneer de app HTTPS vereist, gebruikt u een HTTPS-eindpunt (
https://). Gebruik een HTTP-eindpunt (http://) voor HTTP.Geef dezelfde hostnaam en poort op als de IIS-configuratie die eerder is opgegeven, meestal
localhost.Geef de naam van de app aan het einde van de URL op.
(HTTPS) of
https://localhost/WebApplication1(HTTP) zijn bijvoorbeeldhttp://localhost/WebApplication1geldige eindpunt-URL's.Selecteer in de sectie Omgevingsvariabelen de knop Toevoegen . Geef een omgevingsvariabele op met een naam van
ASPNETCORE_ENVIRONMENTen een waarde vanDevelopment.Stel in het gebied Webserverinstellingen de app-URL in op dezelfde waarde die wordt gebruikt voor de eindpunt-URL browser starten.
Voor de instelling Hostingmodel in Visual Studio 2019 of hoger selecteert u Standaard om het hostingmodel te gebruiken dat door het project wordt gebruikt. Als de eigenschap in het projectbestand wordt ingesteld
<AspNetCoreHostingModel>, wordt de waarde van de eigenschap (InProcessofOutOfProcess) gebruikt. Als de eigenschap niet aanwezig is, wordt het standaardhostingmodel van de app gebruikt, dat in-process is. Als voor de app een expliciete hostingmodelinstelling is vereist die verschilt van het normale hostingmodel van de app, stelt u het hostingmodel in op ofIn ProcessOut Of Processindien nodig.Sla het profiel op.
Wanneer u Visual Studio niet gebruikt, voegt u handmatig een startprofiel toe aan het launchSettings.json-bestand in de map Eigenschappen . In het volgende voorbeeld wordt het profiel geconfigureerd voor het gebruik van het HTTPS-protocol:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iis": {
"applicationUrl": "https://localhost/WebApplication1",
"sslPort": 0
}
},
"profiles": {
"IIS": {
"commandName": "IIS",
"launchBrowser": true,
"launchUrl": "https://localhost/WebApplication1",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Controleer of de applicationUrl- en launchUrl-eindpunten overeenkomen en gebruik hetzelfde protocol als de IIS-bindingconfiguratie, namelijk HTTP of HTTPS.
Het project uitvoeren
Voer Visual Studio uit als beheerder:
- Controleer of de vervolgkeuzelijst voor de buildconfiguratie is ingesteld op Debug.
- Stel de knop Debuggen starten in op het IIS-profiel en klik op de knop om de app te starten.
Visual Studio kan vragen om opnieuw opstarten als deze niet als beheerder wordt uitgevoerd. Start Visual Studio opnieuw als u hierom wordt gevraagd.
Als er een niet-vertrouwd ontwikkelingscertificaat wordt gebruikt, moet u in de browser mogelijk een uitzondering maken voor het niet-vertrouwde certificaat.
Opmerking
Debuggen van een release-buildconfiguratie met Just My Code en compileroptimalisaties resulteert in een verminderde gebruikservaring. Onderbrekingspunten worden bijvoorbeeld niet bereikt.
Aanvullende bronnen
In dit artikel wordt visual Studio-ondersteuning beschreven voor foutopsporing ASP.NET Core-apps die worden uitgevoerd met IIS op Windows Server. In dit onderwerp wordt uitgelegd hoe u dit scenario inschakelt en een project instelt.
Vereiste voorwaarden
- Visual Studio voor Windows
- workload voor ASP.NET en webontwikkeling
- Platformoverschrijdende ontwikkelworkload van .NET Core
- X.509-beveiligingscertificaat (voor HTTPS-ondersteuning)
IIS inschakelen
- Ga in Windows naarProgramma's>en onderdelen> van het Configuratiescherm> en schakelWindows-functies in of uit (links op het scherm).
- Schakel het selectievakje Internet Information Services in. Kies OK.
Voor de IIS-installatie moet het systeem mogelijk opnieuw worden opgestart.
IIS configureren
IIS moet een website hebben geconfigureerd met het volgende:
-
Hostnaam: Normaal gesproken wordt de standaardwebsite gebruikt met een hostnaam van
localhost. Elke geldige IIS-website met een unieke hostnaam werkt echter wel. -
Site Binding
- Voor apps waarvoor HTTPS is vereist, maakt u een binding met poort 443 met een certificaat. Normaal gesproken wordt het IIS Express Development Certificate gebruikt, maar elk geldig certificaat werkt.
- Voor apps die HTTP gebruiken, bevestigt u het bestaan van een binding naar post 80 of maakt u een binding met poort 80 voor een nieuwe site.
- Gebruik één binding voor HTTP of HTTPS. Binding met zowel HTTP- als HTTPS-poorten wordt niet ondersteund.
IIS-ondersteuning voor ontwikkelingstijd inschakelen in Visual Studio
Start het Installatieprogramma van Visual Studio.
Selecteer Wijzigen voor de Installatie van Visual Studio die u wilt gebruiken voor IIS-ondersteuning voor ontwikkelingstijd.
Voor de workload voor ASP.NET en webontwikkeling, zoek en installeer het onderdeel Ontwikkelingstijd IIS-ondersteuning.
Het onderdeel wordt vermeld in de sectie Optioneel onder Ondersteuning voor IIS tijdens ontwikkelingstijd in het deelvenster Installatiedetails rechts van de werkbelastingen. Het onderdeel installeert de ASP.NET Core-module. Dit is een systeemeigen IIS-module die is vereist voor het uitvoeren van ASP.NET Core-apps met IIS.
Het project configureren
HTTPS-omleiding
Voor een nieuw project waarvoor HTTPS is vereist, schakelt u het selectievakje in om te configureren voor HTTPS in het venster Een nieuwe ASP.NET Core-webtoepassing maken . Als u het selectievakje inschakelt, worden HTTPS-omleiding en HSTS Middleware toegevoegd aan de app wanneer deze wordt gemaakt.
Voor een bestaand project waarvoor HTTPS is vereist, gebruikt u HTTPS-omleiding en HSTS Middleware in Startup.Configure. Zie HTTPS afdwingen in ASP.NET Corevoor meer informatie.
Voor een project dat gebruikmaakt van HTTP, HTTPS Redirection en HSTS Middleware worden niet toegevoegd aan de app. Er is geen app-configuratie vereist.
IIS-startprofiel
Maak een nieuw startprofiel om IIS-ondersteuning voor ontwikkelingstijd toe te voegen:
Klik met de rechtermuisknop op het project in Solution Explorer. Selecteer Eigenschappen. Open het tabblad Debug.
Selecteer voor Profiel de knop Nieuw . Geef het profiel de naam IIS in het pop-upvenster. Selecteer OK om het profiel te maken.
Selecteer IIS in de lijst voor de instelling Starten.
Schakel het selectievakje voor de startbrowser in en geef de eindpunt-URL op.
Wanneer de app HTTPS vereist, gebruikt u een HTTPS-eindpunt (
https://). Gebruik een HTTP-eindpunt (http://) voor HTTP.Geef dezelfde hostnaam en poort op als de IIS-configuratie die eerder is opgegeven, meestal
localhost.Geef de naam van de app aan het einde van de URL op.
(HTTPS) of
https://localhost/WebApplication1(HTTP) zijn bijvoorbeeldhttp://localhost/WebApplication1geldige eindpunt-URL's.Selecteer in de sectie Omgevingsvariabelen de knop Toevoegen . Geef een omgevingsvariabele op met een naam van
ASPNETCORE_ENVIRONMENTen een waarde vanDevelopment.Stel in het gebied Webserverinstellingen de app-URL in op dezelfde waarde die wordt gebruikt voor de eindpunt-URL browser starten.
Voor de instelling Hostingmodel in Visual Studio 2019 of hoger selecteert u Standaard om het hostingmodel te gebruiken dat door het project wordt gebruikt. Als de eigenschap in het projectbestand wordt ingesteld
<AspNetCoreHostingModel>, wordt de waarde van de eigenschap (InProcessofOutOfProcess) gebruikt. Als de eigenschap niet aanwezig is, wordt het standaardhostingmodel van de app gebruikt, dat out-of-process is. Als voor de app een expliciete hostingmodelinstelling is vereist die verschilt van het normale hostingmodel van de app, stelt u het hostingmodel in op ofIn ProcessOut Of Processindien nodig.Sla het profiel op.
Wanneer u Visual Studio niet gebruikt, voegt u handmatig een startprofiel toe aan het launchSettings.json-bestand in de map Eigenschappen . In het volgende voorbeeld wordt het profiel geconfigureerd voor het gebruik van het HTTPS-protocol:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iis": {
"applicationUrl": "https://localhost/WebApplication1",
"sslPort": 0
}
},
"profiles": {
"IIS": {
"commandName": "IIS",
"launchBrowser": true,
"launchUrl": "https://localhost/WebApplication1",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Controleer of de applicationUrl- en launchUrl-eindpunten overeenkomen en gebruik hetzelfde protocol als de IIS-bindingconfiguratie, namelijk HTTP of HTTPS.
Het project uitvoeren
Voer Visual Studio uit als beheerder:
- Controleer of de vervolgkeuzelijst voor de buildconfiguratie is ingesteld op Debug.
- Stel de knop Debuggen starten in op het IIS-profiel en klik op de knop om de app te starten.
Visual Studio kan vragen om opnieuw opstarten als deze niet als beheerder wordt uitgevoerd. Start Visual Studio opnieuw als u hierom wordt gevraagd.
Als er een niet-vertrouwd ontwikkelingscertificaat wordt gebruikt, moet u in de browser mogelijk een uitzondering maken voor het niet-vertrouwde certificaat.
Opmerking
Debuggen van een release-buildconfiguratie met Just My Code en compileroptimalisaties resulteert in een verminderde gebruikservaring. Onderbrekingspunten worden bijvoorbeeld niet bereikt.