Code schlägt fehl, wenn eine größere Datenmenge vom Webservice abgerufen wird

  • Ich habe einen Webservice, der Json-Sachen an meine iPhone-Anwendung zurückgibt, und es funktioniert einwandfrei, solange die Menge der zurückgegebenen Daten etwas klein ist, aber wenn ich die Anzahl der zurückgegebenen Daten ansteige Anwendung kann es nicht verarbeiten. Gibt es eine Möglichkeit, dieses Problem zu lösen, kann es niemals ein Limit von 218 KB sein?

    Dies ist mein aktueller Code:

     [WebService(Namespace = "http://mydomain.com/webservicesfeed")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService]
    
        public class feedPerson : System.Web.Services.WebService
        {
    
            [WebMethod(BufferResponse = false)]
            [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
            public List<Person> getData()
            {
                List<Person> res = new List<Person>();
                    res = searchPerson("32.8762", "13.1875");
                return res;
            }
        }
     

    Wenn ich den Webdienst jQuery anrufe, schlägt dies ebenfalls fehl, so liegt das Problem wahrscheinlich beim Webdienst.

    Dies ist der jQuery-Code, den ich zum Ausprobieren verwendet habe:

      <script type="text/javascript">
         $.ajax({
             type: "POST",
             contentType: "application/json; charset=utf-8;",
             url: "http://mydomain.com/feedPerson.asmx/getData",
             dataType: "json",
             success: function (data, textStatus, jqXHR) {
                 alert(data.d[0]);
             },
             error: function (jqXHR, textStatus, errorThrown) {
                 alert("Fail");
             }
         });
        </script>
     

    Wie könnte das sein gelöst?

    22 November 2011
    Mikael
1 answer
  • http://msdn.microsoft.com/en-us /library/aa528822.aspx Standardmäßig gibt es Einschränkungen.

     & lt; Konfiguration & gt; 
     & lt; system.web & gt; 
     & lt; httpRuntime maxMessageLength = "409600" 
     executionTimeoutInSeconds = "300" / & gt; 
     & lt; /system.web> 
     & lt; / configuration & gt; 
     >
                                        
    22 November 2011
    Adam Tuliper - MSFT