"Die von Ihnen angeforderte Seite kann aufgrund der Erweiterungskonfiguration nicht bereitgestellt werden." Fehlermeldung


271

Ich erhalte diese Fehlermeldung, wenn ich versuche, meine Anwendung auszuführen. Ich weiß nicht, wie ich das beheben soll:

HTTP-Fehler 404.3 - Nicht gefunden Die von Ihnen angeforderte Seite kann aufgrund der Erweiterungskonfiguration nicht bereitgestellt werden. Wenn es sich bei der Seite um ein Skript handelt, fügen Sie einen Handler hinzu. Wenn die Datei heruntergeladen werden soll, fügen Sie eine MIME-Map hinzu.

Hier ist ein Screenshot der Fehlerseite: Alt-Text

Was kann ich tun, um diesen Fehler zu beheben?


1
Der Quellcode wäre eher hilfreich als die Fehlerseite
gsharp

1
Welchen Teil des Quellcodes müssten Sie sehen?

1
Nachdem Sie die obige Anweisung befolgt haben, gehen Sie auch mit dem folgenden Link durch und folgen Sie den Schritten. Klicken Sie hier
Raj

Antworten:


170

Verwenden Sie aspnet_regiis.exe, um die von Ihnen verwendete Version des .NET Frameworks zu registrieren.

Dies ist ein häufiges Problem und tritt auf, wenn IIS nach VS oder .NET Framework installiert wird.

Hinweis - Für Benutzer von Windows 8/10 siehe die andere Antwort von JohnOpincar unten . Und auch der Kommentar / Tipp von Kevin Brydon.


11
Tatsächlich habe ich zuerst Visual Studio und dann IIS installiert. Ich führe derzeit den Befehl "aspnet_regiis.exe -i" aus. Hoffentlich behebt dies den Fehler.

5
Funktionierte auch für mich, als ich diesen Fehler beim Versuch bekam, auf einen .svc WCF-Dienst zuzugreifen.
Atconway

Hinweis - für Windows 8-Benutzer siehe die andere Antwort von JohnOpincar unten
KyleK

+1 Für alle anderen, die dies über die Suche finden, ist es möglicherweise einfacher, eine Reparatur für die .NET-Installation durchzuführen, als zu versuchen, aspnet_regiis.exe als Pfad des geringsten Widerstands auszuführen und das Problem zu beheben. Wir sehen dies häufig bei Boxen, die .NET 4.5.2 (über Windows Update) vor der Installation der IIS-Rolle installiert haben. Dies ist etwas frustrierend, da in diesen Boxen .NET 4 als Option in ihrem App-Pool angezeigt wird Wenn Ihre Anwendung .NET 4.5 wie unsere benötigt, schlägt dies mit der obigen Meldung fehl.
Aolszowka

244

In Windows 8/10 müssen Sie verwenden

  • Öffnen Sie die Systemsteuerung →
  • Programme und Funktionen →
  • Windows-Funktionen ein- oder ausschalten →
  • Internetinformationsdienste (IIS) →
  • World Wide Web Services →
  • Anwendungsentwicklungsfunktionen →
  • Überprüfen Sie die entsprechenden Elemente, z. B. das Aktivieren von ASP.NET. (dh installieren Sie die entsprechende Version, mit der Sie Ihre Websites konfigurieren möchten)

Referenz: Überprüfen Sie die Lösung dieser Frage als Referenz


217
Ich hatte zu prüfen .NET Framework 4.5 Advanced Services> WCF Services>HTTP Activation
Kevin Brydon

13
Führen Sie diesen Befehl an einer Administrator-Eingabeaufforderung aus: "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Aktivierung / all" oder "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation45 / all"
Paul Suart

Gerade als ich mich daran gewöhnt habe, regiis auszuführen, geht Microsoft und ändert es wieder. Zumindest ist dies viel einfacher - ähnlich wie bei der Installation von WIF. Jetzt sollten sie SQL hinzufügen, um Windows-Funktionen ein- und auszuschalten.
Nocarrier

@ KevinBrydon - Vielen Dank! Ihr Tipp war sehr hilfreich, um das Problem unter Windows 2012 R2 zu beheben.
Amil Waduwawara

In Windows Server 2012 R2 funktionierte das Aktivieren der "HTTP-Aktivierung" für mich.
Dhanuka777

117

Ich habe das auf meinem Windows 10 behoben:

  1. Gehen Sie zu Systemsteuerung - Programme und Funktionen - Schalten Sie die Windows-Funktionen ein oder aus.

  2. Wählen Sie .NET Framework 4.6 Advanced Services - WCF Services

  3. Überprüfen Sie die HTTP-Aktivierung.

  4. OK, fertig.


5
Funktioniert für mich unter Windows 10! Danke dir!
Sergey Malyutin

1
Funktioniert für mich auch bei Sieg 8.1
Qerts

Arbeitete an Win10 iis7
noCodeMonkeys

Dies funktioniert nach dem Upgrade auf Windows 1709 und der Neuinstallation meines IIS
Garrettendi

Perfekt für mich. Ideale Lösung, wenn Sie die Meldung "Dieser Fehler tritt auf, wenn die Dateierweiterung der angeforderten URL für einen MIME-Typ gilt, der nicht auf dem Server konfiguriert ist"
eranda.del

84

In meinem Fall musste ich MIME-Typen für jede Dateierweiterung hinzufügen, die ich für die Webkonfiguration bereitstellen wollte:

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".shp" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dbf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".kml" mimeType="text/xml" />
    </staticContent>
    ...
</system.webServer>

2
1+ es hat mein Problem behoben ... ich habe versucht, das zu laden .jsonund ich habe immer wieder den OP-Fehler bekommen und schließlich habe ich das mimeMapin meiner web.config hinzugefügt und das Problem gelöst
Nick Kahn

Muss ich den MIME-Typ auch für die asmx-Datei hinzufügen?
Shilpa Soni

@ShilpaSoni asmx-Dateien sind asp.net-Serverdateien (kein statischer Inhalt). Sie können und müssen sie also nicht vom Client herunterladen.
Mahmoodvcs

1
Und hier ist eine Karte der Dateierweiterungen zu ihrem entsprechenden mimeType, gefunden aus dieser SO-Frage
The Red Pea

21

Falls dies jemandem hilft, wurde beim Versuch, aspnet_regiis.exe auszuführen, folgende Fehlermeldung angezeigt:

Operation mit 0x8007000B fehlgeschlagen

Es wurde versucht, ein Programm mit einem falschen Format zu laden

Wie sich herausstellte, wurde auf dem Server 2008 64-Bit ausgeführt, und ich habe versucht, die 32-Bit-Version des Dienstprogramms auszuführen. Das Ausführen der in \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 gefundenen Version hat das Problem behoben.

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i

7

Ich hatte gerade die gleiche Situation mit meinem Kunden. Wir haben unser eigenes Produkt, das eine Website installiert. Das Installationsprogramm konfiguriert alles: den IIS-Pool, die Site, web.config usw.

Wir haben eine andere Website mit unserem Installationsprogramm installiert. Wir haben dieselben Parameter eingegeben, sodass web.configs auf beiden Websites gleich war.

Die neu installierte Site funktionierte jedoch einwandfrei, die alte nicht. Dann öffnete ich 2 IIS Manager-Fenster und begann, den Unterschied in den Website-Einstellungen zu vergleichen. Und ich habe ein Problem gefunden.

Jemand hat alle Handler-Zuordnungen mit der alten Site gelöscht. Wenn Sie zu "Handler-Zuordnungen" gehen, sollten Sie dort aspx, asmx und andere Erweiterungen und Namen der Handler sehen. Auf der alten Website fehlten also all diese Aufzeichnungen.

Daher würde ich vorschlagen, zuerst die "Handler-Zuordnungen" zu überprüfen - es müssen dort viele Datensätze vorhanden sein. Erstellen Sie eine neue Website und vergleichen Sie, um zu wissen, wie viele es geben sollte.

Wer sie gelöscht hat, eine Person oder ein anderes Programm, weiß ich nicht. Wenn jemand feststellen kann, ob eine Tracking-Anwendung vorhanden ist, die angibt, dass die Benutzerdomäne \ john die Website zum Zeitpunkt "07.03.2012 12:34" geändert hat, ist dies hilfreich.



6

Ich habe mein Problem auf dem Windows 2012-Server behoben, indem ich ALLE WCF-Funktionen installiert habe.

A) Server Manager> Verwalten [Link oben links]> Rollen und Funktionen hinzufügen

B) Unter Funktionen> .Net Framework 4.5-Funktionen> WCF-Dienste

C) Überprüfen (aktivieren) Sie die Funktionen. Ich habe alles überprüft.

D) Installieren


2
Ich habe nur die HTTP-Aktivierung und die TCP-Aktivierung überprüft und es hat bei mir funktioniert. Trotzdem danke!
Aleksei Mialkin

6

Unter Windows Server 2008 R2 64bit und .net Framework 4.5 wurde dieser Befehl von diesem Speicherort aus ausgeführt und war erfolgreich:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i

Ausgabe:

Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation.  All rights reserved.
Start installing ASP.NET (4.0.30319.0).
.....
Finished installing ASP.NET (4.0.30319.0).

3

Wie @Mahmoodvcs erwähnte, musste ich MIME-Typen für die Dateierweiterung festlegen / hinzufügen, die ich zum direkten Hosten / Herunterladen benötigte. In diesem Fall handelt es sich um eine Heroku-Dump-Datei (Postgres-Datenbanksicherung), um einen öffentlichen IIS-Server festzulegen, auf dem Sie können diese Dateien herunterladen, ohne AWS S3-Bucket oder HTTP-Freigaben wie Dropbox zu benötigen. Dies ist eine großartige Option!

<staticContent>
  <mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>



2

Ich hatte auch diesen Fehler, unter Windows Server 2008 IIS 7 war kein Visual Studio installiert, sodass eine Neuinstallation / Reparatur von .NET 4.0 den Trick machte.


1

Um eine Erweiterung für IIS hinzuzufügen, gehen Sie wie folgt vor:

  1. Öffnen Sie den IIS-Manager und navigieren Sie zu der Ebene, die Sie verwalten möchten.
  2. Doppelklicken Sie in der Funktionsansicht auf MIME-Typen.
  3. Klicken Sie im Bereich Aktionen auf Hinzufügen.
  4. Geben Sie im Dialogfeld MIME-Typ hinzufügen eine Dateinamenerweiterung in das Textfeld Dateinamenerweiterung ein. ... Geben Sie einen MIME-Typ ein
  5. im Textfeld MIME-Typ.
  6. OK klicken.

1
Ich habe diese Lösung im Fall von .ts (Type Script Files) getestet, die Sie in den MIME-Typ-Typescript-Feldern (.ts) deklarieren müssen. Ich verwende text / x.typescript als MIME-Typ
freedeveloper


0

Stellen Sie sicher, dass der Anwendungspool in IIS (im Fall von IIS7 oder höher) als integriert ausgewählt ist. In diesem Fall kann ein Wechsel zu Classic dieses Problem wahrscheinlich lösen.


0

Im Zusammenhang mit Server 2016 sollte ich hinzufügen:

  1. Führen Sie diesen Befehl aus: aspnet_regiis -lvaus diesem Verzeichnis: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ Dies gibt Ihnen den besten Überblick über die Vorgänge

  2. Auf Server 2016 scheint die Installation von .net und iis nicht in der richtigen Reihenfolge zu sein.

  3. Was auf Server 2016 eher ein Problem darstellt, ist einfach, dass asp.net nicht auf dem Computer installiert ist.


0

Zum Windows Server 2016

  1. Server ManagerFormular öffnen
  2. Manage -> Add Roles and Features
  3. Weiter bis FeaturesSeite
  4. Überprüfen Sie die WCF ServicesFunktion mit allen Unterfunktionen
  5. Next und Install

0

PHP 7.3 Application IIS unter Windows Server 2012 R2

Dies war ein zweistufiger Prozess für mich.

1) Aktivieren Sie die WCF-Dienste - mit einem Serverneustart

2) Fügen Sie eine FASTCGI-Modulzuordnung hinzu

1)

Gehen Sie zu Server-Manager> Rollen und Funktionen hinzufügen. Wählen Sie Ihren Server aus dem Serverpool aus. Gehen Sie zu Funktionen> WCF-Dienste. Ich habe alle Kategorien ausgewählt und dann installiert

2)

Gehen Sie zu IIS> Wählen Sie die Site aus. Wählen Sie im mittleren Bereich Handlerzuordnungen aus. Wählen Sie im rechten Bereich Modulzuordnungen hinzufügen

Innerhalb des Bearbeitungsfensters:

Anforderungspfad: * .php

Modul: FastCgimodule

Ausführbar: Ich habe in meinem PHP-Ordner die Datei php-cgi.exe aufgerufen

Name: PHP7.3

Jetzt, dass ich darüber nachdenke. Möglicherweise gibt es eine Möglichkeit, diese Handlerzuordnung in der Webkonfiguration hinzuzufügen. Wenn Sie Ihre Site also auf einen anderen Server migrieren, müssen Sie diese Zuordnung nicht immer wieder hinzufügen.

EDIT: Hier ist es. Fügen Sie dies dem Abschnitt der Webkonfiguration hinzu.

<add name="PHP-FastCGI" verb="*" 
  path="*.php" 
  modules="FastCgiModule"
  scriptProcessor="c:\php\php-cgi.exe" 
  resourceType="Either" />


0

Wenn Sie versuchen, eine Datei ohne Erweiterung anzuzeigen, haben Sie Folgendes hinzugefügt MIME Type: Dateinamenerweiterung : . MIME-Typ :text/plain

Dies kann einige MVC-Auswirkungen haben, insbesondere wenn Sie Static File Handlersich über den Extensionless...Handlern (unter IIS/ Handler Mappings) befinden. Dies kann jedoch eine Problemumgehung sein, wenn Sie dies nur vorübergehend benötigen, z. B. das Aktivieren von SSL-Zertifikaten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.