2014-12-26 9 views
2

У меня есть классический Owin класс запуска, как это:Owin: имя хоста (или IP) и порт

public class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 
    } 
} 

Есть ли способ, чтобы получить имя хоста (или IP) и порт внутри «Configuration» функция?

Спасибо.

+0

Вы хорошо разбираетесь в конкретных запросах (то есть через 'app.Run' или' app.Use'), или вам нужно это за пределами этого для чего-то, что на самом деле сделано как конфигурация? И если первое, вы ищете локальное имя хоста и порт или удаленный? –

+0

@MatthewHaugen да мне это нужно за пределами '.Run' или' .Use' :( , и мне это нужно, когда оно будет развернуто – dafriskymonkey

+0

Хм, да, я не уверен. Но я также не уверен, имя хоста имеет большой смысл. Возможно, вы можете получить IP-адрес от сетевого адаптера, но предполагается, что сервер имеет только один. Кроме того, любой поиск DNS, вероятно, приведет к чему-то вроде «Server01», который не является супер –

ответ

2
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); 
        } 
       } 
      } 
     } 
+0

это улучшение, но как я могу получить порт? и его 'System.Net.Dns' :) – dafriskymonkey

+0

Вам нужен порт, на котором приложение Бег ? – dotnetstep

+0

его работа на IIS – dafriskymonkey

Смежные вопросы