gpt4 book ai didi

c# - session 或 webAPI 中的任何替代方案

转载 作者:行者123 更新时间:2023-11-30 20:18:20 28 4
gpt4 key购买 nike

我有一个业务逻辑,其中包含大量数据库提取操作和一些复杂的业务逻辑。获取的数据在用户 session 中很少更改。

  • 许多获取操作(获取的数据在用户 session 中很少更改)。
  • 对于表单上的每个操作(按钮点击/文本框中的值更改等...),我们需要运行业务逻辑来检查它是否有效更改。

目前我们正在使用 Asp.net Forms Application,这些业务逻辑在 InSessionScope() 中。目前我们正在努力迁移到 Restful API(WebAPI)。

  • 我们可以在 RESTFul 中使用 session (InSessionScope())吗?
  • 如果不在 session 中,如何避免更多的数据库调用并在后续调用中使用相同的对象并提高性能?

最佳答案

根据我的个人经验,永远不要在 Rest 应用程序中使用 Session,因为 AspNET WebAPI 是......即使你可以......而是使用 token 进行授权和用户配置文件(使用 AspNet Identity)和性能(不要打数据库太多次了)我建议你一些方法,就像我所做的那样:

1 - 使用缓存!! (有一些很棒的框架和缓存库..你可以使用不同的缓存层..查询.. webapi的响应..例如我用来缓存整个API响应(Json)并在POST时自动使它失效/PUT/DELETE 请求)..在 .NET 中你可以使用这个 https://github.com/filipw/Strathweb.CacheOutput您还可以使用 Redis 进行缓存(如果您不想在服务器中进行本地缓存,而是希望拥有分布式缓存)

2 - 尝试以NoSQL 方式思考..在我们的应用程序中,我们混合使用了 DB .. SQL Server 以及 MongoDB(特别是对于大量数据) 例如,我们使用 SQL Server 来管理 AspNEt Identity,但我们使用 MongoDB 来存储我们的产品(我们有大约 600 万种产品),查询大约需要 1 秒(还有聚合!!)..

3 - 如果可以存储一些信息,请尝试在 FrontEnd 上使用 LocalStorage。 .然后在需要时同步它们..

希望它能帮助您..享受 WebAPI ..享受 REST!​​! (并尽快离开网络表单......在我的想法中!!)

关于c# - session 或 webAPI 中的任何替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41607942/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com