public class Startup
{
public void Configuration(IAppBuilder app)
{
//Get hostname
string hostName = System.Net.Dns.GetHostName();
// Get all ip address.
IPAddress[] ips;
ips = System.Net.Dns.GetHostAddresses(hostName);
}
}
Чтобы получить всю ценность от IAppBuilder, вы можете сделать это.
public void Configuration(IAppBuilder appBuilder)
{
foreach(var item in appBuilder.Properties)
{
//Console.WriteLine(item.Key + " - " + item.Value);
if(item.Key == "host.Addresses")
{
dynamic d = item.Value;
var items = (Dictionary<string,object>)d[0];
// Here there are four keys for scheme , host , port , path
foreach(var add in items)
{
Console.WriteLine(add.Key + " - " + add.Value);
}
}
}
}
Вы хорошо разбираетесь в конкретных запросах (то есть через 'app.Run' или' app.Use'), или вам нужно это за пределами этого для чего-то, что на самом деле сделано как конфигурация? И если первое, вы ищете локальное имя хоста и порт или удаленный? –
@MatthewHaugen да мне это нужно за пределами '.Run' или' .Use' :( , и мне это нужно, когда оно будет развернуто – dafriskymonkey
Хм, да, я не уверен. Но я также не уверен, имя хоста имеет большой смысл. Возможно, вы можете получить IP-адрес от сетевого адаптера, но предполагается, что сервер имеет только один. Кроме того, любой поиск DNS, вероятно, приведет к чему-то вроде «Server01», который не является супер –