Zoeken op website

Kan geen verbinding maken met webserver IIS Express Visual Studio


Visual Studio probeert IIS Express te starten als een subprocess om de webapplicatie te hosten, maar de geïntegreerde browser of debugger slaagt er niet in om een socketverbinding met de opgegeven localhost-poort tot stand te brengen. De IDE geeft vervolgens aan “Kan geen verbinding maken met de webserver IIS Express,” waardoor de ontwikkelingsworkflows in Visual Studio worden onderbroken en het debuggen van de applicatie wordt verhinderd. In dit bericht zullen we bekijken wat je kunt doen als je Kan geen verbinding maken met de webserver ‘IIS Express’ in Visual Studio ziet.

Wanneer Visual Studio IIS Express start, weigert je browser soms verbinding te maken met localhost. De IDE wacht op een reactie van de toegewezen poort en loopt vervolgens vast met een verbindingsfout in plaats van je startpagina weer te geven. In de meeste gevallen ligt het probleem in de configuratie. Ofwel bevat het bestand applicationhost.config een verouderde poorttoewijzing, of de verborgen .vs-cachemap houdt corrupte instellingen vast van een eerdere crash, of het HTTPS-certificaat is ongemerkt verlopen.

Kan geen verbinding maken met webserver IIS Express in Visual Studio

Als u geen verbinding kunt maken met de IIS Express-webserver in Visual Studio, volg dan de onderstaande oplossingen.

  1. Verwijder de beschadigde IIS Express-configuratiemap
  2. Wis de project-specifieke .vs-cachemap
  3. Herstel de poortreservering van localhost
  4. Repareer IIS

Laten we het over hen in detail hebben.

1. Verwijder de beschadigde IIS Express-configuratiemap

Visual Studio is afhankelijk van een aantal XML-configuratiebestanden om IIS Express te starten. Als deze bestanden beschadigd raken, vaak na een systeemcrash of een onjuiste afsluiting, kan de IDE de sitebindingen niet correct analyseren, wat leidt tot een verbindingsfout. Door deze map te verwijderen, dwing je Visual Studio om bij de volgende projectstart een ongerepte configuratie te genereren. Volg de onderstaande stappen om hetzelfde te doen.

  • Sluit alle exemplaren van Microsoft Visual Studio.
  • Open het Windows Uitvoeren-dialoogvenster door op de Windows-toets + R te drukken.
  • Typ of plak het volgende pad in het tekstvak en druk op Enter: %userprofile%\Documents\IISExpress\.
  • Zoek in het geopende Verkenner-venster de map 'config' en klik er met de rechtermuisknop op.
  • Selecteer Verwijderen in het contextmenu.
  • Start Visual Studio opnieuw, open je project en druk op F5 om te beginnen met debuggen.

Er wordt automatisch een nieuwe, schone configuratiemap aangemaakt.

2. Maak de project-specifieke .vs-cachemap leeg

Visual Studio onderhoudt een verborgen cachemap (.vs) in de hoofdmap van uw oplossing. Deze map slaat gebruikersspecifieke instellingen op, inclusief gecachte debuggerkoppelingen. Wanneer deze cache verouderd raakt of niet synchroon loopt met de werkelijke configuratie van het project, kan Visual Studio proberen verbinding te maken met een niet-bestaande server of poort. Het verwijderen van deze map dwingt de IDE om de status van de oplossing vanaf nul opnieuw op te bouwen. Volg de onderstaande stappen.

  • Zorg ervoor dat Visual Studio volledig is gesloten.
  • Open Verkenner en navigeer naar de hoofdmap die het .sln (Solution) bestand van uw project bevat.
  • Klik op het tabblad Beeld in het lint van Verkenner en vink het vakje met het label Verborgen items aan. Deze actie toont de .vs-map.
  • Klik met de rechtermuisknop op de map .vs en selecteer Verwijderen.
  • Heropen je oplossingsbestand.

Visual Studio zal een paar extra seconden nodig hebben om de cache opnieuw op te bouwen, maar de verbindingsfout zal waarschijnlijk worden opgelost.

3. Reset de lokale hostpoortreservering

Windows gebruikt de HTTP Server API om URL-reservaties te beheren. Als een specifieke poort (bijvoorbeeld localhost:5000) is gereserveerd door een andere gebruikersaccount of een verweesd proces, wordt IIS Express de toestemming ontzegd om aan dat adres te binden. Het handmatig wissen van de reservatie verwijdert de conflicterende entry en stelt Visual Studio in staat de poort correct te claimen.

Druk op de Windows-toets, typ cmd en selecteer vervolgens Als administrator uitvoeren om een verhoogde opdrachtprompt te openen.

Identificeer het poortnummer dat voor uw project is geconfigureerd. U kunt dit vinden door met de rechtermuisknop op uw project in Solution Explorer te klikken, Eigenschappen te selecteren en naar het tabblad Debug te navigeren. Zoek naar de waarde van de App-url (bijv. http://localhost:12345).

Voer in de opdrachtprompt de volgende opdracht uit, waarbij u [PORT_NUMBER] vervangt door het werkelijke nummer uit uw projectinstellingen

netsh http delete urlacl url=http://localhost:[PORT_NUMBER]/

U zult een bevestigingsbericht zien met de tekst URL-reservering succesvol verwijderd.

Sluit de opdrachtprompt en voer uw project opnieuw uit vanuit Visual Studio. IIS Express zal automatisch een nieuwe, geldige reservering aanvragen.

4. IIS repareren

Voor projecten die HTTPS gebruiken, treedt deze fout vaak op omdat het lokale ontwikkelingscertificaat is verlopen of de privésleutel is beschadigd. IIS Express gebruikt dit zelfondertekende certificaat om een beveiligde verbinding met uw browser tot stand te brengen. Wanneer het certificaat ongeldig is, wijst de browser de handshake af en interpreteert Visual Studio deze afwijzing als een serververbinding mislukt. Het repareren van de IIS Express-installatie genereert een geldig certificaat opnieuw.

Volg de hieronder vermelde stappen.

  • Sluit Visual Studio en eventuele geopende webbrowsers.
  • Open het Configuratiescherm en ga naar Programma's.
  • Blader door de lijst met geïnstalleerde programma's en zoek IIS 10.0 Express (of IIS 8.0 Express).
  • Klik met de rechtermuisknop op de IIS Express-vermelding en selecteer Repareren in het contextmenu.
  • Volg de aanwijzingen op het scherm om het herstelproces te voltooien. Deze actie installeert de benodigde binaries opnieuw en plaatst een nieuw localhost-certificaat in de persoonlijke certificaatopslag.
  • Start Visual Studio opnieuw en voer uw HTTPS-project opnieuw uit. De browser zal de verbinding nu vertrouwen en de fout zal worden opgelost.

Hopelijk zal dit het werk voor je doen.

We hopen dat u het probleem kunt oplossen met de hier genoemde oplossingen.

Waarom stopt IIS Express met werken na een Windows-update?

Een Windows-update kan het localhost-ontwikkelingscertificaat dat door IIS Express wordt gebruikt, laten verlopen of verwijderen. Het kan ook de HTTP-poortreserveringen resetten. Het uitvoeren van een reparatie van IIS Express via Programma's en onderdelen genereert het certificaat opnieuw en lost het probleem op.

Hoe los ik de IIS Express localhost-certificaatafout op?

Om de IIS Express localhost-certificaatfout op te lossen, open Configuratiescherm > Programma's en onderdelen. Zoek IIS Express in de lijst, klik er met de rechtermuisknop op en selecteer Repareren. De reparatiewizard genereert automatisch een nieuw, geldig localhost-certificaat. Zodra dit is voltooid, start Visual Studio opnieuw op en voer uw project uit. De HTTPS-binding werkt nu correct.

Gerelateerde artikelen