0

Webサービスの初心者なので、いくつかの基本的な質問をします。MSExcelに約50 MBのデータがあります。単純な機能を実装するために、Webサービスをホストする予定です。

  1. ユーザーアプリには国名、都市名が入力されます(この情報はWebサービスから取得されます
  2. 国と都市を選択すると、ユーザーには都市の詳細(ランキングなど)が提供されます

ASP.NETでWebサービスを作成する予定です(ASP.NETを選択した理由:おそらく簡単です)。

  1. どのデータベースを選択しますか?実行する読み取り操作のみ。データベースサイズも50MB未満のままになります。
  2. msは直接使用できますか?
  3. Excelをいくつかのデータベースにエクスポートし、そのデータベースを使用してASP.NET Webサービスとの接続を確立する必要がありますか?

シェアしてください。

4

3 に答える 3

1

データの合計サイズが50MB未満で、更新されない場合は、そのすべてのデータをメモリにロードするのが最適です。

Jetドライバーを使用してExcelファイルを直接読み取ることができます。
これを静的変数にロードして、すべてのリクエストがアクセスできるようにします。

それをメモリに保持すると、非常に高速なアクセスが可能になり、データベース(またはExcelファイル)を毎回クエリすることを心配する必要がなくなります。

于 2012-09-06T10:49:52.787 に答える
0

データをmysqlに転送し、mysqldbを使用してWebサービスからアクセスします。これが私が最終的に使用したアプローチです。

于 2012-09-18T03:11:05.070 に答える
-1

Webアプリケーションでは、それがどんなに大きくても、メモリ管理はあなたがしなければならない最も重要なことです。アプリが同時に応答する必要のあるWebリクエストの数が実際にはわからないため、これは重要です。ちなみに、データをメモリに保持する方法、共有またはプライベートによって異なります。結局のところ、アプリケーションがスリープ状態でアクティブな要求がない場合、メモリに50MBのデータを保持するのは適切ではありません。これが、Microsoft SQL ServerやOracleなどのデータベースエンジンを使用している理由です。これらのエンジンは、サービスのようにすべてを実行します。

私の見解では、データをディスクに保持する方が良いです。データの保存方法は、Webサービスメソッドの出力結果によって異なります。XMLの場合は、都市リストをXMLファイルに保存し、要求されるたびに出力結果に転送するだけです。このようにして、Webサービスでストリーミングを使用して、Webサービスメソッドで大きなデータを返す方法を見つけることができます。

また、Excelファイルを直接使用することはお勧めできません。これは、Webサーバー上にいくつかのコンポーネントが必要になる可能性があり、展開プロセスに影響を与えるためです。.NETでのExcelファイルの使用には、SQLに接続したり、XMLファイルを読み取ったりする代わりに、いくつかの複雑さがあります。だから私は確かにそれをお勧めしません。

乾杯

于 2012-09-06T11:04:15.637 に答える