Domanda

Ho un'azione del controller ASP MVC. Sto cercando di fare una richiesta web

public ActionResult Index()
{
   WebRequest request = HttpWebRequest.Create("http://www.example.com");
   WebResponse response = request.GetResponse();
   string str =  response.ToString();
}`

I ottenere un "WebException verificato" il nome remoto non può essere risolto: 'www.example.com'

Se comincio Fiddler, poi le opere di WebRequest.

Ho provato ad aggiungere:

 <system.net>
 <defaultProxy>
   <proxy usesystemdefault ="True" bypassonlocal="True"  />
 </defaultProxy>

per web.config (con e senza HTE bypassonlocal) ed ancora non funziona.

Qualche suggerimento?

È stato utile?

Soluzione

Prova a specificare il server proxy in modo esplicito:

<system.net>
    <defaultProxy>
        <proxy proxyaddress="http://proxy.yourcompany.com:80" />
    </defaultProxy>
</system.net>

È anche possibile impostare il proxy programmaticamente:

request.Proxy = new WebProxy("http://proxy.yourcompany.com:80", true);

Quando si imposta usesystemdefault al true, l'applicazione utilizza il proxy definito nella finestra di dialogo Internet Options. Quando si distribuisce l'applicazione in IIS di solito esegue con l'account che ha privilegi Network Service molto limitate, non ha nemmeno qualsiasi sessione GUI in modo che non può dedurre il server proxy.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top