2016-02-02 2 views
0

Я пытаюсь сделать звонок на сервер, передавая заголовок узла в ядре asp.net. Каков синтаксис, который мне нужен, чтобы указать хост?Как сделать вызов через заголовок узла в Asp.Net-Core

using (var client = new HttpClient()) 
{ 
    client.BaseAddress = new Uri("http://" + server.IPAddress + "/"); 
    // add host header here - server.HostName 
    var response = await client.GetAsync(server.File); 
    if (response.IsSuccessStatusCode) 
    { 
     // handle 
    } 
} 

Я использую System.Net.Http из NuGet для поддержки DNX, но я не предан, что в качестве решения.

Я не могу подключиться напрямую через IP, поскольку на этом IP-адресе IIS различаются разные сайты с помощью заголовков хостов.

В .Net 4 я использовал:

var request = WebRequest.Create("http://" + server.IPAddress + "/" + server.File) as HttpWebRequest; 
request.Host = server.HostName; 
var response = (HttpWebResponse)request.GetResponse(); 
if (response.StatusCode == HttpStatusCode.OK) 
{ 
    // handle 
} 

(Try/Задвижки опущенные из кода)

ответ

1

HttpClient.DefaultRequetHeaders Property:

using (var client = new HttpClient()) 
{ 
    client.BaseAddress = new Uri("http://" + server.IPAddress + "/"); 
    client.DefaultRequestHeaders.Host = server.HostName; 
    var response = await client.GetAsync(server.File); 
    if (response.IsSuccessStatusCode) 
    { 
     // handle 
    } 
} 
Смежные вопросы