2009-03-11 11 views
2

dönüyor, ben böyle bir şey istemci IP adresini almak için söylüyorum:IIS7 veya ASP.NET benim ASP.NET uygulamasında garip bir istemci IP Adresi

string ipAddress = HttpContext.Current.Request.UserHostAddress; 

Bu normaldir, kısa bir yoludur Her zaman kullandım ve her zaman işe yaradı. Herkes, yukarıdaki ifadenin sadece REMOTE_ADDR sunucu değişkeni için bir sarıcı olduğunu biliyor.

Yeterince basit, değil mi? Eh, son birkaç gün içinde benim yerel dev makine üzerinde olduğunu fark oldum, o değeri olarak bu döndürüyor:

"fe80::dde4:def3:7f1b:a582%10" 

neden hiçbir dünyevi fikrim yok. Vista x64 çalıştırıyorum ve uygulamamı IIS7 ile çalıştırıyorum. Ben IPv4 ve IPv6 etkin, ama bu genellikle böyle bir şey verir:

"1::" 

Ben bu neden oluyor hiçbir fikrim yok. Yeniden başlatma hiçbir şeyi çözmez.

DÜZENLEME: Bu olduğunda ben Chrome'u kullanıyorum

.

+0

ifconfig/all işlevini çalıştırırken, ağ bağdaştırıcımda "Link-local IPv6 address" için çok benzer bir değer görüyorum. – jro

+0

@lfonlfonlfon - eğer artık istemiyorsan soruyu sil - içeriklerin silinmesi sadece aptalca –

+0

Bunu ilk denedim, Einstein. Kabul edilen veya oyu alınmış olarak işaretlenen öğeleri silemezsiniz. –

cevap

8

IPv6 döndürüyor gibi görünüyor.

::1, yalnızca 1::'un ters bayt sırası olan IPv6 için geri dönüş adresidir.

Ayrıca IPv6'daki fe80::/10 adreslerinin Otomatik Yapılandırma IP adresleri olduğunu da unutmayın (bunlar IPv4, bunlar 169.254.0.0/16). Örneğin, özel bir LAN üzerindeyseniz ve bir DHCP sunucusuna erişemiyorsanız, Windows ethernet adaptörünüzü otomatik olarak bir otomatik yapılandırma IP adresi atar.

Sadece FYI, Genellikle bir DHCP sunucusuna erişemeyen adaptörlere özel bir IP adresi atamalısınız.

+0

Hmm'de yarısını kaybettiği için haklısınız. IP6'nın daha önce neye benzediğini hiç görmedim. Buna bakacağım. Bilgi için şimdi için teşekkürler. –

4

Bu sorunu gördüğünüzde FireFox kullanıyor musunuz? Bu, varsayılan olarak kullanılabilir olduğunda IPv6'yı kullanır. Bunu kapatarak öneririm: hiç

  • gidin "about: config"
  • gerçek

için "network.dns.disableIPv6" girdiyi

  • Set o bul Bu aynı zamanda olacak IPv6'nın etkinleştirildiği zaman FF'nin bazen herhangi bir sebepten dolayı askıda kalması nedeniyle yerel gelişmeyi ve hata ayıklamayı hızlandırır.

    Önereceğim diğer seçenek IPv6'yı devre dışı bırakmaktır. Son kullanıcı ISS'sinin bulunmadığı IPv6 uçtan uca çalıştırılmadıkça şu anda kullanışlı değil. Bağlantınızdaki bağlantı özelliklerini açmanız ve "İnternet Protokolü Sürüm 6 (TCP/IPv6)" kutucuğunu kaldırmanız yeterlidir.

  • +0

    Chrome kullanıyorum. Önerilerinizle neler olduğunu göreceğim. –

    +0

    PaulW ile aynı yapılandırmaya sahibim ve IPv6 girişi etkinken FF ile test ediyorum, her iki özellikte de IPv4 adresini alıyorum. – jro

    +0

    Aslında, bu ayarı zaten doğru yapmıştım. Yine de Chrome'u kullanıyordum, ancak Firefox IPv4'ü döndürüyordu. –