webentwicklung-frage-antwort-db.com.de

Warum wird beim Debuggen meiner asp.net core 2.0-App in Edge ein Popup-Fenster "Sie benötigen eine neue App zum Öffnen dieses localhost" angezeigt?

Ich gebe einfach "MyMessages/Index" nach localhost: 51531/ein und dieses Popup wird angezeigt. Scheint mir super komisch aber wahrscheinlich etwas einfaches. 

Ich versuche also, in Edge zu localhost:51531/MyMessages/Index zu navigieren.

Der Controller ist public class MyMessagesController : Controller

Die Controller-Aktion ist nur:

public IActionResult Index()
{
    return View();
}

Irgendeine Idee, warum das passiert?

Dies passiert nicht in IE11

6
JohnOsborne

Das Problem ist, dass Sie das schema am Anfang der URL verlassen haben. Einige Browser werden ableiten Unter bestimmten Umständen wird dies jedoch nicht immer von allen Browsern abgeleitet.

Anstatt:

localhost:51531/MyMessages/Index

Versuchen:

http://localhost:51531/MyMessages/Index
20
mjwills

Stellen Sie dieser URL http:// Voran. Edge analysiert offenbar localhost als RI-Schema , weshalb Windows keine App zum Öffnen findet - wahrscheinlich gibt es Auf Ihrem Computer ist keine Anwendung für localhost registriert.

http://localhost:51531/MyMessages/Index

Es mag wie ein Kinderspiel erscheinen, auf http:// Zu schließen, aber denken Sie daran, dass die Navigation zu z. file://C:\Users\[Username]\Desktop\document.txt In jedem Webbrowser öffnet die Datei - also wenn der Browser etwas sieht, das aussieht Wie bei einem URI-Schema (wie localhost:51531) ist es sinnvoll anzunehmen, dass es eines ist.

Das Dialogfeld "Sie benötigen eine neue App, um dieses zu öffnen" wird angezeigt, wenn eine URL mit einem Schema eingegeben wird, das nicht für eine Anwendung registriert wurde. Ein Beispiel für ein benutzerdefiniertes anwendungsspezifisches Schema ist das URL-Schema Steam://[appid] Oder das Schema mailto://[address], Das häufig von Outlook verwendet wird.

(Siehe auch Was ist ein URI-Schema? )

6
Moira

Die einfache Option, http als Präfix zu verwenden, scheint in Ordnung zu sein. Angenommen, Sie drücken die Tastenkombination Strg + R (was die Entwickler häufig tun). Ich konnte es schaffen, indem ich DNS-Eintrag (etc/hosts) hinzufügte, so dass "Edge" jetzt wissen muss, was localhost ist.

127.0.0.1       localhost
1
Lokeshwer