如何在所有网络接口上进行Web API自主绑定?
我目前有以下代码。不幸的是,它仅绑定在localhost上。因此,从localhost以外的地方访问此服务器失败。
var baseAddress = string.Format("http://localhost:9000/");
using (WebApp.Start<Startup> (baseAddress))
{
Console.WriteLine("Server started");
Thread.Sleep(1000000);
}
答案 0 :(得分:36)
只需像这样更改基地址
var baseAddress = string.Format("http://*:9000/");
using (WebApp.Start<Startup> (baseAddress))
{
Console.WriteLine("Server started");
Thread.Sleep(1000000);
}
它应该正确绑定到所有接口。
答案 1 :(得分:5)
使用以下方法绑定它: -
netsh
netsh> http add urlacl url="http://+:9000/" sddl=D:(A;;GX;;;S-1-1-0)
如果您获得访问权限异常,请不要以管理员用户身份启动Visual Studio。请改为添加网址。以管理员身份启动命令控制台窗口并执行:
INDEX(A2:O2=41,)
SDDL会转换为您当前域/机器的“所有用户”。