Pobrałem wydania stabilnego reaktywnych Rozszerzenia v1.0 SP1 z tej strony http://msdn.microsoft.com/en-us/data/gg577610, i używam go w środowisku .NET Framework 3.5 (Visual Studio 2008)Dlaczego rozszerzenia reaktywne wysyłają HTTP GET do aplikacji microsoft w trakcie kompilacji?
Próbowałem za pomocą reaktywnych Rozszerzenia w projekcie, a zauważyłem, że uruchomienie było bardzo powolne. Zamiar LINQPad, wszedłem na poniższy "C# wyrażenie":
(new int[0]).ToObservable()
ja również odwołuje System.Reactive.dll i zaimportowano nazw System.Reactive.Linq. Po uruchomieniu trwa kompilacja , aby skompilować .
Otworzyłem Monitor procesu i monitorowałem LinqPad. Zauważyłem, że wysyła on żądanie HTTP do 124.155.222.226 LUB 124.155.22.59. (FYI LinqPad się również telefon do domu do 157.55.161.150 po otwarciu go). Z WireShark, zauważyłem, że jest wysłanie żądania HTTP GET do
http://crl.microsoft.com/pki/crl/products/MicCodSigPCA_08-31-2010.crl
Czy ktoś wie dlaczego to dzwoniąc do domu tak, gdy kod kompiluje z Reactive.Extensions? Co więcej, czy jest jakiś sposób, aby go wyłączyć, ponieważ 12-sekundowe opóźnienie w telefonie do domu po przeniesieniu aplikacji (I uruchomiony w produkcji) jest szczególnie niewygodne.
UWAGA: Telefonuje w ten sposób, gdy SKRABISZ kod (lub JIT kompiluje go podczas debugowania). Wydaje się, że to nie jest zachowanie w czasie wykonywania.
CRL - lista odwołań certyfikatów. Wydaje się, że w jakiś sposób sprawdza certyfikat i potrzebuje najnowszej wersji tej listy odwołania, aby sprawdzić, czy certyfikat jest nadal ważny. –
Ale dlaczego trzeba sprawdzić, czy certyfikat jest ważny tylko po to, aby skompilować kod zawierający IObservable? Wydaje się, że to zły czas i miejsce na wysyłanie żądań HTTP. –
Somebody jab @ericlippert – Will