2013-03-10 3 views
14

Chcę pobrać adres IP serwera nazwa_połączenia ConnectionString z mojego pliku app.config, a następnie wysłać go za pomocą polecenia ping. Właściwie chcę pingować mój serwer przed uruchomieniem aplikacji. jak to zrobić? mój ConnectionStringUzyskaj nazwę serwera z ciągu połączenia zdefiniowanego w pliku App.config?

<"name="ConnectionString" 
connectionString="Data Source=192.168.1.5; 
        Initial Catalog=CheckPass2; 
        User ID=User; 
        Password=myPassword" /> 
+2

[Co próbowaliście?] (Http://www.whathaveyoutried.com). Częściej niż inni użytkownicy SO chcieliby zobaczyć, że próbowaliście to zrobić samodzielnie, ponieważ SO nie zostało zaprojektowane jako * daj mi stronę internetową *. –

+1

Czy umieściłeś adres IP w 'servername' w twoim' App.config'? –

+0

tak, mój connectionstring jest podobny do tego: name = "ConnectionString" connectionString = "Źródło danych = 192.168.1.5; Initial Catalog = CheckPass2; User ID = User; Password = myPassword" –

Odpowiedz

38

jaki sposób mogę to zrobić?

Można uzyskać adres serwera przy użyciu SqlConnectionStringBuilder .Powierzchnia DataSource właściwość tej klasy mogą być wykorzystane do tego, jak poniżej:

// Retrieve the ConnectionString from App.config 
string connectString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); 
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectString); 
// Retrieve the DataSource property.  
string IPAddress = builder.DataSource; 

Ten DataSource nieruchomość odpowiada następujących kluczy w całym łańcuchu połączenia.

  • Źródło danych
  • serwer
  • adres
  • addr i
  • adres sieciowy

Niezależnie od tego, która z tych wartości zostało dostarczonych w ciągu połączenia dostarczanego, ciąg połączenia stworzony przez SqlConnectionStringBuilder użyje znanego klucza "Data Source".

+2

Just dla jasności, otrzyma nazwę źródła danych. Użytkownik może wpisać adres IP LUB nazwę komputera. – gunr2171

+0

Bardzo dziękuję, mój przyjacielu –

+0

Inną rzeczą, o której należy pamiętać, jest to, że "Źródło danych" będzie również zawierało dowolny numer portu, jeśli został określony.W tym formacie: "serwer, 1234" . – r41n