System.Net.HttpWebRequest
ile çok garip bir sorun var, bu beni deli ediyor: localhost
adresiyle çalıştırdığımda, ya çok yavaş (yaklaşık 30 saniye) veya çoğu durumda tamamen zaman aşımına uğrar. Bu, yalnızca localhost
hedefini ve yalnızca C# kodundaki istekleri ile olur.Web isteği başarısız oluyor, ancak yalnızca localhost için ve System.Net.HttpWebRequest kullanırken
Somut bir örnek olarak bir ASP.NET Web API projesi alarak, ben bu kodu olduğunda:
[Test]
public void TestRequest()
{
var request = WebRequest.Create("http://localhost:64497/api/values");
WebResponse response = request.GetResponse();
}
..it çoğu zaman bu istisna ile başarısız olur:
System.Net.WebException: Uzak sunucuya bağlanılamıyor
---- System.Net.SocketExoLoad: Bağlantılı taraf zamanından veya kurulan bağlantıdan sonra düzgün yanıt vermediğinden bağlantı girişimi başarısız oldu Çünkü Bağlı konak .NET kod kontrolü ile 127.0.0.1:64497
yanıt başarısız oldu, ben boş olmayan bir değer döndüren WSAConnect API hatayı izini, ama şundan olduğunu göremiyorum çok yardım (Ben 64bit sistemde çalıştırıyorum oysa Ancak bu 32bit API'sıdır. Bazı garip 32/64bit sorun olabilir mi?)
ben localhost dışında bir adresle yukarıdaki kodu çalıştırmak
(diyelim http://www.google.com), o zaman normal davranır ve 1 saniyelik yanıt süreleri alırım. Ayrıca, yukarıdaki isteği farklı bir istemciden gönderdiğimde (Chrome'un Advanced REST Client kullandım), normal davranışı alıyorum: İlk derleme nedeniyle ilk istek için yaklaşık 5-8 sn gecikme süresi ve çok kısa yanıt süreleri Sonraki tüm istekler için (20-40 msn). bu bulgular göz önüne alındığında, sorununSystem.Net.HttpWebRequest
sınıfının uygulamasına özgü bir şeyden gelmelidir bana oldukça açık görünüyor
...
web uygulaması kendisi IIS Express barındırılan ama ben Yukarıdaki sorunun hiçbir zaman web sunucusuna ulaşmadığından (bu durumun hem IIS Express'i komut satırından çalıştırarak hem de ProcessMonitor'a gelen istekleri inceleyerek kontrol ettiğimden) emin olamadığından emin değilim.
Daha fazla bilgi için: Win 8.1 64bit ve VS 2013 SP4 pro çalıştırıyorum. Sistemin HOST dosyası değiştirilmemiş, yani herhangi bir giriş içermiyor.
şeyler şimdiye kadar denedim:
- IIS yerine IIS Express kullanılarak tüm güvenlik duvarı ve antivirüs yazılımı
- kapatılması yönetici modunda
- VS Running
- ayar proxysettings açıkça null , her kod için ve her yapılandırmada
- ProcessMonitor için IIS Express işleminin denetlenmesi - sonuç yok (söylediğim gibi, Web sunucusunun doğrudan davetli olmadığından eminim
127.0.0.1
Sorunun ne anlamıyorum, ben web üzerinde herhangi bir ilgili bilgi bulamıyorum bu sorunla) localhost
değişen
Bu sorunun cevabı yok Bir, aynı konuda da sıkışmış olarak :) – ahaaman