【发布时间】:2017-05-20 19:41:59
【问题描述】:
还有其他方法可以保存我们的数据吗 在我们保存数据的会话中并不关心它的类型是什么 保存:
Session["instauser"] = _instaApi;
使用:
var IInstaApi = Session["instauser"] as InstaApi
我知道要保存在数据库或文件中,我们应该序列化数据,但我不能。 因为 InstaApi 包含
HttpClient , HttpClientHandler ,...
有没有像会话这样的东西? 但将数据保存在数据库或文件中,而不是像会话那样的内存。
更新
这是私有的 instagram api,我们创建它的实例并使用它登录(无论如何!),然后如果我们可以保存该对象(InstaApi 的实例),那么我们可以永远使用它,无需再次登录
【问题讨论】:
-
你误用了
Session对象,不要把它当成一个静态的万能容器来使用,它真的设计成只包含session数据(尽可能小)。这就是您在持久化这些对象时遇到问题的原因。 -
@Federico Dipuma 工作正常,但我不想使用 Session
-
你永远不会成功序列化包含
HttpClient , HttpClientHandler的复杂对象 -
您可以使用全局缓存,它也将数据保存在内存中
-
如果您更具体地了解您想要实现的目标会更好吗?为什么要在会话中存储 HttpClient 和 Handler?为什么不在会话中存储简单的细节并在以后使用它们来创建 HttpClient ?
标签: c# asp.net-mvc session