网络服务的新手,所以问几个基本问题 我在MS Excel中有一些大约50 MB的数据,我计划托管一个Web服务,以实现一个简单的功能
我计划在ASP.NET中创建Web服务(选择ASP.NET的原因:可能很简单),所以
- 选择哪个数据库?只读取要执行的操作。否则数据库大小将保持<50 MB
- 可以直接使用ms excelttly吗?
- 我是否需要将excel导出到某个数据库,然后使用该数据库与ASP.NET Web服务建立连接?
醇>
请分享。
答案 0 :(得分:1)
如果您的数据总大小小于50 MB且永远不会更新,则最好将所有数据加载到内存中。
您可以使用Jet驱动程序直接读取excel文件 将其加载到静态变量中,以便所有请求都可以访问它。
将其保存在内存中将为您提供非常快速的访问权限,您不必担心每次都查询数据库(或excel文件)。
答案 1 :(得分:0)
将数据传输到mysql并使用mysql db从Web服务进行访问。 这是我最终使用的方法。
答案 2 :(得分:-1)
在Web应用程序中,无论它有多大,内存管理都是您应该做的最重要的事情。这很重要,因为您实际上并不知道应用应该同时回答多少Web请求。顺便说一句,这取决于你如何将数据保存在内存中,它是共享的还是私有的。毕竟,当您的应用程序处于睡眠状态并且没有活动请求时,在内存中保留50 MB数据并不好。这就是我们拥有数据库引擎(如Microsoft SQL Server或Oracle)的原因,因为它们会像服务一样完成所有这些事情。
在我看来,最好将数据保存在磁盘上。存储数据的方式取决于Web服务方法的输出结果。如果它是XML,那么您可以简单地将城市列表存储在XML文件中,并在每次请求时将其传输到输出结果。通过这种方式,您可以在Web服务上使用Streaming来了解如何在Web服务方法上返回大数据。
直接使用excel文件也不是一个好主意,因为它可能需要Web服务器上的某些组件,这将影响部署过程。在.NET中使用excel文件有一些复杂性,而不是连接到SQL或读取XML文件。所以我当然不建议这样做。
干杯