我正在按照这个例子here http://www.dotnetcurry.com/ShowArticle.aspx?ID=896用于自托管 ASP.NET Web API 服务。但是,当在基地址中指定“localhost”作为主机时,它会被转换为“+”(意思是“全部可用”)。
var baseAddress = new Uri("http://localhost:13210");
var configuration = new HttpSelfHostConfiguration(baseAddress);
configuration.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}",
defaults: new {id = RouteParameter.Optional});
using (var server = new HttpSelfHostServer(configuration))
{
server.OpenAsync().Wait();
stop.WaitOne();
server.CloseAsync().Wait();
}
我确实希望我的主机只绑定到“localhost”——它只能从同一台机器访问,而且我不想搞乱 URL ACL。
如何配置 Web API 来not将“localhost”重写为“+”?
设置你的HostNameComparisonMode
属性精确:
var config = new HttpSelfHostConfiguration("https://localhost/api/");
config.HostNameComparisonMode = HostNameComparisonMode.Exact;
See 本文 http://msdn.microsoft.com/en-us/magazine/cc163412.aspx有关主机名比较模式的更多信息
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)