最佳答案
我有一个简单的.net 核心 web API,只有一个操作:
[Route("[action]")]
public class APIController : Controller
{
// GET api/values
[HttpGet]
public string Ping()
{
return DateTime.Now.ToString();
}
}
如果我通过网络运行这个,我得到
Hosting environment: Production
Content root path: C:\Users\xxx\Documents\Visual Studio 2015\Projects\SelfHostTest\src\SelfHostTest
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
进入浏览器并键入 http://localhost:5000/ping将成功返回当前时间。然而进入远程计算机(相同的 LAN)并试图通过 http://odin:5000/ping访问服务会导致404错误。(Odin 是通过 dotnet run 在控制台中运行 web api 的机器的名称)。
服务器(和客户端!)的防火墙都关闭了。我可以成功地 ping“ odin”。
你知道我错过了什么样的简单步骤吗? 我在家里和工作中都尝试过,但没有成功。