-1

私の Web サービスは、SQL データを JSON 形式で返します。iOS アプリからこのサービスを呼び出します。私は全部で2つの3つの機能を持っています。最初のものは 3000 レコードを返します。この関数の Uritemplate を実行したところ、3000 件のレコードが表示されました。2 番目と 3 番目の関数は、それぞれ 19000 と 27000 のレコードを返します。各レコードをリストに追加し、JSON 形式で送信します。しかし、safari/firefox で URL にアクセスすると、「サーバーが接続を切断しました。サーバーがビジーです」というメッセージが表示されます。だから私はレコードの数を減らそうとしましたが、約9300〜9400レコードが失敗したときです。9300 件のレコードを送信できますが、その範囲では失敗します。これをweb.configで行いました

 <system.web>
    <httpRuntime maxRequestLength="2097151"  executionTimeout="45" />
  .....

   <system.web.extensions>
<scripting>
  <webServices>
    <jsonSerialization maxJsonLength="100000000"/>
  </webServices>
</scripting>

しかし、どちらも機能しません。どうすればそんなに多くのデータを送信できますか。9300 件のレコードをファイルに保存したところ、397KB でした。したがって、19000 レコードは 2 倍になると推測しています。約 800KB です。ブラウザでこれらのレコードを表示できないのはなぜですか? その多くのレコードを送信するために、構成ファイルにさらに何を追加できますか。さらに質問があります。さらに詳しい情報が必要な場合は、お問い合わせください。

4

1 に答える 1

0

あなたの UI が、どんな種類のユーザーフレンドリーな方法でも、一度に多くのレコード (レコードの種類に関係なく) を合理的に表示できるとは思えないので、ページネーションを検討する必要があるように思えます。

そのため、一度に合理的に表示できるデータの量と、データの別のページに対する後続のリクエストが実行されている間にユーザーがスクロールしてビューに入るために使用される可能性のある追加のバッファーのみを引き出すことに努力を集中する必要があります。 .

これにより、ロード時間の点でユーザー エクスペリエンスが大幅に向上する可能性があります。ユーザーは、アプリとの対話を開始する前に、巨大な要求が満たされるのを待つ必要がないからです。

于 2013-01-19T00:39:30.647 に答える