如何在 MVC 中存储一个请求到另一个请求的临时数据

发布于 2024-08-18 21:35:49 字数 104 浏览 2 评论 0原文

在某些请求中,必须从 Soap 服务获取外部数据。显然我不想在同一用户的每次调用中获取该数据。

将一个请求的临时数据存储到另一个请求的最佳实践是什么?数据最多可能需要 10 兆。

In some requests, external data has to be fetched from Soap service. Obviously I don't want to get that data at each call for the same user.

What is the best practice to store temporary data from one request to the other? The data could take up to 10 meg.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

↘人皮目录ツ 2024-08-25 21:35:49

如果您确实需要在 Web 请求之间保留大量数据,并且这些数据特定于用户,我建议将其序列化并将其存储在数据库中的临时表中,并带有用户会话的密钥。如果您使用的是 Sql 服务器会话,那么您可以通过 Session 对象来执行此操作,否则您将需要编写一个自定义实现。

如果数据不是用户唯一的但可以共享,那么您可以从应用程序缓存中存储和检索它。

If you really need to persist that amount of data between web requests and the data is specific to the user I would suggest serialising it and storing it a temporary table in a database with a key to the users session. If you are using Sql server session then you can do this via the Session object otherwise you will need to write a custom implementation of this.

If the data is not unique to the user but could be shared then you could store and retrieve it from the appication cache.

习ぎ惯性依靠 2024-08-25 21:35:49

具体答案取决于有关应用程序和数据结构的更多信息。您可以考虑将数据放入临时文件中。如果不关心内存并且没有很多并行用户,则可以使用会话状态。

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.

你的呼吸 2024-08-25 21:35:49

也许将其存储在光盘上的文件中就足够了,但是您必须创建自己的文件管理器实现或类似的东西。

10Mb 的会话太大了,但将其发送到数据库会浪费资源。保存到文件将是临时数据最轻、最快的方法。

Maybe storing it in file on disc will be enough but then you must create own implementation of file manager or something like this.

10Mb for session is too big but sending it to the database is waste of resources. Saving to file will be lightest and fastest method for temporary data.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文