none
externe URL aus einem MVC Controller ansprechen

    Frage

  • Hallo,

    ich habe eine ASP.NET MVC 4 Anwendung. Ist es möglich, dass ich aus einem Controller heraus eine externe URL anspreche und ein JsonResult zurückgeliefert bekomme, oder muss ich das ganze über JavaScript lösen?

    Sinn und Zweck davon soll sein, dass ich eine "Synchronisation" starte, wenn eine bestimmte Aktion ausgelöst wurde. Es ist für mich (und natürlich für den Endanwender) einfacher, diese Aktion im Controller auszuführen, als eine separate JavaScript Seite mit einem neuen Button aufzurufen.

    Wenn ja, wie?

    Gruß

    Thomas

    Montag, 24. Juni 2013 14:08

Antworten

  • Hallo Thomas,

    ja das ist möglich. Der Controller kann einen WebRequest erstellen und die Antwort als JsonResult zurückliefern:

    public JsonResult IPTest()
    {
        var request = WebRequest.Create("http://ip.jsontest.com");
        var response = request.GetResponse();
        var responseStream = new StreamReader(response.GetResponseStream());
        var content = responseStream.ReadToEnd();
        return Json(content, JsonRequestBehavior.AllowGet);
    }

    Der Code erstellt einen WebRequest, liest die Antwort aus und liefert diese als JsonResult zurück. Der Parameter JsonRequestBehavior.AllowGet [1] erlaubt die Ausgabe der Antwort in einem Browser über die Eingabe der Adresse. In diesem Fall zum Beispiel: http://localhost:12345/Home/IPTest

    [1] http://msdn.microsoft.com/de-de/library/system.web.mvc.jsonrequestbehavior.aspx

    Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

    Viele Grüße,
    Thomas Fröhle
    App-Entwickler-Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

    • Als Antwort vorgeschlagen Thomas Fröhle Mittwoch, 26. Juni 2013 11:15
    • Als Antwort markiert Thomas1234567 Mittwoch, 26. Juni 2013 13:18
    Mittwoch, 26. Juni 2013 11:10