Tea*_*Bee 5 session salesforce force.com visualforce apex-code
我希望能够在Salesforce网站页面上为当前会话读取/写入一些变量。
我有一个使用Salesforce网站构建的网站,我需要在所有页面上存储/检索一些值(考虑到我正在构建类似于购物车的东西)。但是,我找不到任何有关如何向会话(匿名用户)读写变量的好例子。
我将Visualforce页面与Apex中内置的多个控制器一起使用。
问候
自定义设置在应用程序级别缓存,也许这就是上面链接中建议的原因。我不确定我是否会推荐这种方法,但您也许可以让它发挥作用。
如果您创建一个名为“SessionData”的自定义设置,并添加自定义字段(表示您要在会话中存储的数据),您可以将数据保存到其中,如下所示:
Database.SaveResult result = Database.insert(new SessionData__c(YourFieldHere='Your value here etc'));
System.debug(result.getID());
Run Code Online (Sandbox Code Playgroud)
然后使用生成的自定义设置 ID 存储在 cookie 中。虽然可以使用普通 SOQL 访问自定义设置,但优点是数据被缓存并且可以像这样访问:
if (SessionData__c.getAll().containsKey('unique ID from cookie here'))
{
System.debug(SessionData__c.getInstance('unique ID from cookie here').YourFieldHere);
}
Run Code Online (Sandbox Code Playgroud)
请记住,自定义设置并不是真正为此设计的,因此您需要定期清除旧的自定义设置数据,就像普通会话管理系统所做的那样。
有关更多详细信息,请参阅Apex 自定义设置文档。
| 归档时间: |
|
| 查看次数: |
20084 次 |
| 最近记录: |