Frage

ich eine ASP-MVC-Controller-Aktion haben. Ich versuche, eine Web-Anfrage zu machen

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

Ich erhalte eine "WebException aufgetreten" der Remote-Name nicht aufgelöst werden kann: 'www.example.com'

Wenn ich Fiddler starten, dann die webrequest funktioniert.

Ich habe versucht, und fügte hinzu:

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

zu Web.config (mit und ohne hte bypassonlocal) und es funktioniert immer noch nicht.

Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Versuchen Sie, den Proxy-Server angeben explizit:

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

Sie können auch die Proxy-programmatisch festgelegt:

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

Wenn Sie usesystemdefault auf true gesetzt, verwendet die Anwendung des im Internet Options Dialogfeld definiert Proxy. Wenn Sie Ihre Anwendung in IIS bereitstellen es führt in der Regel unter dem Network Service Konto, die sehr begrenzte Privilegien hat, ist es nicht einmal eine GUI-Sitzung haben, so kann es nicht schließen den Proxy-Server.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top