0

Web 服务的新手,所以问几个基本问​​题我在 MS Excel 中有一些大约 50 MB 的数据,我计划托管一个 Web 服务,以实现一个简单的功能

  1. 用户应用程序将填充国家名称、城市名称(此信息将从网络服务获取
  2. 在选择国家和城市时,将向用户提供城市的详细信息(例如排名等)

我打算在 ASP.NET 中制作 web-service(选择 ASP.NET 的原因:可能很简单),所以

  1. 选择哪个数据库?仅要完成读取操作。数据库大小也将保持 <50 MB
  2. 可以直接使用ms excel吗?
  3. 我是否需要将 excel 导出到某个数据库,然后使用该数据库建立与 ASP.NET Web 服务的连接?

请分享。

4

3 回答 3

1

如果数据的总大小小于 50 MB 并且永远不会更新,最好将所有数据加载到内存中。

您可以使用 Jet 驱动程序直接读取 excel 文件。
将此加载到静态变量中,以便所有请求都可以访问它。

将它保存在内存中将使您可以非常快速地访问,并且您不必担心每次都查询数据库(或 excel 文件)。

于 2012-09-06T10:49:52.787 回答
0

将数据传输到 mysql 并使用 mysql db 从 Web 服务访问。这是我最终使用的方法。

于 2012-09-18T03:11:05.070 回答
-1

在 Web 应用程序中,无论它有多大,内存管理都是您应该做的最重要的事情。这很重要,因为您实际上并不知道应用程序应该同时响应多少网络请求。顺便说一句,这取决于您如何将数据保存在内存中,它是共享的还是私有的。毕竟,当您的应用程序处于休眠状态并且没有活动请求时,在内存中保留 50 MB 数据并不好。这就是我们拥有 Microsoft SQL Server 或 Oracle 等数据库引擎的原因,因为它们像服务一样做所有这些事情。

在我看来,最好将数据保存在磁盘上。存储数据的方式取决于 Web 服务方法的输出结果。如果是 XML,那么您可以简单地将城市列表存储在 XML 文件中,并在每次请求时将其传输到输出结果。通过这种方式,您可以在 Web 服务上使用 Streaming 来了解如何在 Web 服务方法上返回大数据。

同样直接使用 excel 文件也不是一个好主意,因为它可能需要 Web 服务器上的一些组件,并且会影响部署过程。在 .NET 中使用 excel 文件有一些复杂性,而不是连接到 SQL 或读取 XML 文件。所以我当然不建议这样做。

干杯

于 2012-09-06T11:04:15.637 回答