Announcement

Collapse
No announcement yet.

Datenübertragung C#/Ajax

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenübertragung C#/Ajax

    Hi,

    ich rufe über ajax eine C#-Mothode auf. Diese Methode gibt ein Arry mit drei Feldern zurück (json), das u.U. mehr als 30000 eintrage haben kann (Messwerte). An dieser Stelle bekomme ich seitens Ajax eine Fehlemeldung. Gibt es da Erafhrungsberichte, wieviel Daten zwischen C# und Ajax hin und her übertragen werden kann? Gibt es eine andere Vorgehensweise/Technik, um diese Daten zu übertragen.

    Gruß

  • #2
    Originally posted by Smart View Post
    An dieser Stelle bekomme ich seitens Ajax eine Fehlemeldung.
    Gut das man weis welche es ist!
    Oder ist es die Aufgabe diese Fehlermeldung zu erraten?

    Comment


    • #3
      Hallo,

      erklär bitte auch warum die 30.000 Messwerte übertragen willst. Meist gibt es bessere Möglichkeiten die mit weit weniger Daten auskommen.

      mfG Gü
      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

      Comment


      • #4
        Hi,

        die Fehlermeldung ist: Die Länge der Zeichenfolge übersteigt den in der maxJsonLength-Eigenschaft festgelegten Wert.
        Es geht um eine MVC-Anwendung. Ich hole mir die Daten aus der Datenbank und stlle ich sie grafisch dar. Ich weiss nicht ganz, wie ich anders aus dem View heraus eine C#Methode aufrufen und die Werte an das View zurückgeben kann.

        Gruß

        Comment


        • #5
          Wer kann 30.000 Werte auf dem Bildschirm erfassen?
          Christian

          Comment


          • #6
            Es geht an dieser Stelle nicht darum, ob jemand diese erfassen kann. Es geht darum, wie und ob man diese übertragen kann. Die Werte werden auch nicht alle auf einaml dargestellt. Die müssen aber an Ort und Stelle verfügbar sein.

            Comment


            • #7
              Die Werte werden auch nicht alle auf einaml dargestellt. Die müssen aber an Ort und Stelle verfügbar sein.
              Es erschließt sich nicht, warum man Daten nicht häppchenweise lesen kann.

              http://stackoverflow.com/questions/1...-in-web-config
              Christian

              Comment


              • #8
                Hallo Christian,

                dnake, Das ist in etwa, das was ich bereits tue. Wenn auch die Daten übertragen werden können, kommt auf der Ajax-Seite die Fehlermeldung: Objekt kann nicht initzialisiert werden. Es muss einfach einen anderen Weg geben, die C#-Methode aufzurufen und Daten an view zu übertargen.

                Gruß

                Comment


                • #9
                  Naja, wenn es den geben muss.....
                  Was sollen wir dazu sagen?
                  Das ist a) ein Javascript-Thema und b) kennen wir deinen Code nicht

                  Des Weiteren ist weiterhin zu prüfen, ob soviele Daten übertagen werden müssen (meistens schlechtes Anwendungsdesign) oder ob diese aufgeteilt werden können
                  Weiterhin kannst du mit Firebug o.a. prüfen, welche Daten bei dem Ajaxrequest gesandt werden und was wirklich im Response steht. Damit ist das dann wohl einzugrenzen
                  Zuletzt editiert von Christian Marquardt; 13.08.2014, 06:47.
                  Christian

                  Comment


                  • #10
                    Hi,

                    damit ich mehrere Daten, die als Array voliegen, auf einmal übertragen zu können, habe ich diese wiederum ein ein Array gepack, dies sieht als JsonResult wie folgt aus:

                    Code:
                     
                    [[{"a":1}, {"b":2}, {"c":3}], [{"a":4}, {"b":5}, {"c":6}], [{"a":7}, {"b":8}, {"c":9}]]
                    nun verlangt der Brwoser bei der Übertragung: Diese Anforderung wurde blockiert, da bei Verwendung in einer GET-Anforderung sensible Informationen an Websites von Drittanbietern weitergegeben werden könnten. Legen Sie JsonRequestBehavior auf AllowGet fest, um GET-Anforderungen zuzulassen.

                    Code:
                    return new JsonResult()
                    {
                        Data = values,
                        MaxJsonLength = Int32.MaxValue,
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    };
                    Nachdem JsonRequestBehavior auf AllowGet gesetzt ist, werden die Daten nicht mehr übertragen, sondern will bietet der Browser das Erbnis als download an. Kann man diese abstellen?

                    Gruß

                    Comment

                    Working...
                    X