Подтвердить что ты не робот

Как получить ASP.NET Web API (самостоятельно) для прослушивания * только * localhost?

Я следую примеру здесь для самостоятельной службы веб-API ASP.NET. Однако при указании "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" - к нему будет доступен доступ только с одного компьютера, и я не хочу обходиться с помощью списков ACL.

Как настроить веб-API, чтобы не переписывать "localhost" на "+"?

4b9b3361

Ответ 1

Установите для свойства HostNameComparisonMode значение Exact:

var config = new HttpSelfHostConfiguration("https://localhost/api/");
config.HostNameComparisonMode = HostNameComparisonMode.Exact;

Смотрите эту статью для получения дополнительной информации о HostNameComparisonMode