ASP - läuft in localhost - nicht in der Lage Internet zu erreichen
-
25-09-2019 - |
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?
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.