Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么是“a”;你';“我需要一个新的应用程序来打开此本地主机”;在Edge中调试我的asp.net core 2.0应用程序时是否显示弹出窗口?_C#_Asp.net Core Mvc_Microsoft Edge_Asp.net Core 2.0_Razorengine - Fatal编程技术网

C# 为什么是“a”;你';“我需要一个新的应用程序来打开此本地主机”;在Edge中调试我的asp.net core 2.0应用程序时是否显示弹出窗口?

C# 为什么是“a”;你';“我需要一个新的应用程序来打开此本地主机”;在Edge中调试我的asp.net core 2.0应用程序时是否显示弹出窗口?,c#,asp.net-core-mvc,microsoft-edge,asp.net-core-2.0,razorengine,C#,Asp.net Core Mvc,Microsoft Edge,Asp.net Core 2.0,Razorengine,我只需在localhost:51531/之后输入“MyMessages/Index”,就会显示这个弹出窗口。我觉得很奇怪,但可能很简单 因此,我尝试在Edge中导航到localhost:51531/MyMessages/Index 控制器是公共类MyMessages控制器:控制器 控制器操作只是: public IActionResult Index() { return View(); } 知道为什么会这样吗 在IE11中不会发生这种情况问题是您将URL的开头省略了。一些浏览器将推断

我只需在localhost:51531/之后输入“MyMessages/Index”,就会显示这个弹出窗口。我觉得很奇怪,但可能很简单

因此,我尝试在Edge中导航到
localhost:51531/MyMessages/Index

控制器是公共类MyMessages控制器:控制器

控制器操作只是:

public IActionResult Index()
{
    return View();
}
知道为什么会这样吗


在IE11中不会发生这种情况

问题是您将URL的开头省略了。一些浏览器将推断 在某些情况下,它会被忽略,但并非所有浏览器都会一直推断它

而不是:

localhost:51531/MyMessages/Index
尝试:


尝试将
http://
前置到该URL。Edge似乎正在将
localhost
解析为,这就是为什么Windows找不到用于打开它的应用程序-您的计算机上可能没有注册到
localhost
的应用程序

http://localhost:51531/MyMessages/Index
推断
http://
似乎是不费吹灰之力的,但请记住,在任何web浏览器中导航到例如
文件://C:\Users\[Username]\Desktop\document.txt将打开该文件-因此当浏览器看到类似URI方案的内容时(如
localhost:51531
),假设它是一个是有道理的

当使用尚未注册到应用程序的方案输入URL时,将显示“您需要一个新应用程序才能打开此应用程序”对话框。自定义特定于应用程序的方案的一个示例是
steam://[appid]
URL方案,或者Outlook经常使用的
mailto://[address]
方案


(另请参见)

为http添加前缀的简单选项似乎不错,但假设您按Ctrl+R(开发人员经常这样做),出于奇怪的原因,它仍然会弹出应用程序打开,这很烦人。 我能够通过添加dns条目(etc/hosts)使其工作,这样“边缘”现在必须知道localhost是什么

127.0.0.1       localhost

你的问题好像不见了!控制器名称是什么?能否在“MyMessages”文件夹中显示视图名称“Index”?如果改为转到
http://localhost:51531/MyMessages/Index
?或
http://localhost:51531/MyMessages/
?尝试将
http://
预先添加到该URL。它似乎正在将
localhost
解析为协议,这就是它找不到应用程序打开它的原因-您的机器上可能没有注册为“
localhost
协议”的应用程序。@mjwills有效:)谢谢这对我有效,在我的例子中,我正在调试一个应用程序,想强制干净地加载页面,所以我只是去地址栏点击[ENTER],直到手动添加http://前缀才起作用,真烦人!
127.0.0.1       localhost