2013-03-25 21 views
6

sto chiamando questa riga di codice per raggiungere il server azzurro:WebRequest.Create genera IOException "La chiave del Registro di sistema specificata non esiste."

var request = (HttpWebRequest)WebRequest.Create(uri); 

e ricevere questa eccezione. Qualcuno sa come gestirlo?

mscorlib.dll!Microsoft.Win32.RegistryKey.Win32Error(int errorCode, string str) + 0x189 bytes  
mscorlib.dll!Microsoft.Win32.RegistryKey.GetValueKind(string name) + 0x7f bytes 
System.dll!System.Net.HybridWebProxyFinder.InitializeFallbackSettings() + 0xb8 bytes  
System.dll!System.Net.HybridWebProxyFinder.HybridWebProxyFinder() + 0x1e bytes 
[Native to Managed Transition] 
[Managed to Native Transition] 
System.dll!System.Net.HybridWebProxyFinder.HybridWebProxyFinder(System.Net.AutoWebProxyScriptEngine engine) + 0x37 bytes  
System.dll!System.Net.AutoWebProxyScriptEngine.AutoWebProxyScriptEngine(System.Net.WebProxy proxy, bool useRegistry) + 0x190 bytes 
System.dll!System.Net.WebProxy.UnsafeUpdateFromRegistry() + 0x67 bytes 
System.dll!System.Net.WebProxy.WebProxy(bool enableAutoproxy) + 0x44 bytes 
System.dll!System.Net.Configuration.DefaultProxySectionInternal.DefaultProxySectionInternal(System.Net.Configuration.DefaultProxySection section) + 0x3d9 bytes 
System.dll!System.Net.Configuration.DefaultProxySectionInternal.GetSection() + 0xbe bytes 
System.dll!System.Net.WebRequest.InternalDefaultWebProxy.get() + 0x7e bytes 
System.dll!System.Net.HttpWebRequest.HttpWebRequest(System.Uri uri, System.Net.ServicePoint servicePoint) + 0x18d bytes 
System.dll!System.Net.HttpRequestCreator.Create(System.Uri Uri) + 0x50 bytes  
System.dll!System.Net.WebRequest.Create(System.Uri requestUri, bool useUriBase) + 0x2ec bytes 
System.dll!System.Net.WebRequest.Create(string requestUriString) + 0xa3 bytes 
+0

Ok, sembra che la soluzione con LegacyWPADSupport abbia aiutato, anche se abbiamo diversi stack di chiamate. –

+0

Hai mai risolto questo? – skimania

+2

Sì. Questa soluzione ha aiutato http://stackoverflow.com/questions/13141434/httpclient-request-throws-ioexception/13745641#13745641, sebbene abbiamo diversi stack di chiamate. –

risposta

3

Questa soluzione ha aiutato HttpClient request throws IOException, anche se abbiamo diversi stack di chiamate.

È necessario creare queste chiavi nel registro.

Percorso: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework

chiave:

nome: "LegacyWPADSupport" tipo: "DWORD" Dati: 00000000

Percorso: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework

chiave:

nome: "LegacyWPADSupport" tipo: "dWORD" dati: 00000000

+2

Per completezza, i tasti sono: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework e HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework – Rob

+0

Grazie. La formattazione ha consumato la barra prima del punto (\.). Ho modificato la risposta, per la corretta visualizzazione. –