SORU
29 NİSAN 2009, ÇARŞAMBA


Nasıl C yerel makinenin FQDN#/bulmak için.NET ?

Nasıl C yerel bir makine tam etki alanı adı olabilir.?

CEVAP
29 NİSAN 2009, ÇARŞAMBA


NOT: Bu çözüm hedefleme .(Ve) daha yeni NET 2.0 çerçeve.

using System;
using System.Net;
using System.Net.NetworkInformation;
//...

public static string GetFQDN()
{
    string domainName = IPGlobalProperties.GetIPGlobalProperties().DomainName;
    string hostName = Dns.GetHostName();

    if(!hostName.EndsWith(domainName))  // if hostname does not already include domain name
    {
        hostName  = "."   domainName;   // add the domain name part
    }

    return hostName;                    // return the fully qualified name
}

GÜNCELLEME

Bir sürü insan Sam's Answer daha kısa olduğunu açıklamalı beri cevap için biraz yorum eklemeye karar verdim.

Unutulmaması gereken en önemli şey, verdiğim kodu olduğunueşdeğer değilaşağıdaki kodu için:

Dns.GetHostEntry("LocalHost").HostName

Makine ağa bağlı olduğunda genel durum ve bir etki alanının parçası olarak, her iki yöntem de genel olarak aynı sonucu elde ederken, diğer senaryolarda sonuçları farklılık gösterir.

Çıkış farklı bir senaryo makine bir etki alanının parçası değil. Bu durumda, Dns.GetHostEntry("LocalHost").HostName ana bilgisayarın NETBIOS adını döndürür yukarıda GetFQDN() yöntemi localhost dönecektir.

Bu ayrım makinenin FQDN bulma amacı bilgi günlük veya rapor oluşturmak için önemlidir. Günlükleri ya da daha sonra kullanılan raporlarda bu yöntemi kullandım en belirli bir makine için bilgi göster. Eğer makineler ağa bağlı değilse, localhost tanımlayıcı adına gerekli bilgileri verir ise bir işe yaramaz.

Sonuçta her kullanıcının kalmış hangi yöntemin daha iyi uygulama için gereken ne bağlı olarak uygundur. Ama bu cevap yanlış olduğunu söylemek için değil, kısa olan yüzeysel.

Çıkış farklı olacak örnek: http://ideone.com/q4S4I0

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • chrmoe

    chrmoe

    7 Kasım 2006
  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009