在某些请求中,必须从 Soap 服务获取外部数据。显然,我不想在每次调用同一用户时获取该数据。
将临时数据从一个请求存储到另一个请求的最佳实践是什么?数据可能需要多达 10 兆。
在某些请求中,必须从 Soap 服务获取外部数据。显然,我不想在每次调用同一用户时获取该数据。
将临时数据从一个请求存储到另一个请求的最佳实践是什么?数据可能需要多达 10 兆。
如果您确实需要在 Web 请求之间保留大量数据并且数据特定于用户,我建议将其序列化并将其存储在数据库中的临时表中,并带有用户会话的密钥。如果您使用的是 Sql 服务器会话,那么您可以通过 Session 对象执行此操作,否则您将需要编写一个自定义实现。
如果数据对用户来说不是唯一的但可以共享,那么您可以从应用程序缓存中存储和检索它。
A concrete answer depends on more information about the application and about the data structure. You could consider to put the data into a temporary file. If memory is not concern and you don't have lot of parallel users you could use session state.
也许将它存储在磁盘上的文件中就足够了,但是您必须创建自己的文件管理器实现或类似的东西。
10Mb 的 session 太大了,但是发送到数据库是浪费资源。保存到文件将是临时数据最轻、最快的方法。