【发布时间】:2011-11-17 03:58:27
【问题描述】:
我们需要在 iframe 页面和回调之间存储用户详细信息。一些细节需要像在线支付一样安全可靠。我们要么将详细信息存储在数据库中,要么存储在会话中。但是,如果 Web 服务器出现故障或当我们在白天发布时,用户将失去他们的会话。我们没有网络场,因此不需要 StateServer 或 SQLServer 会话状态。 我们:
- 在数据库中存储详细信息,然后在确认后更新
- 使用 inproc 在会话中存储详细信息
- 使用 StateServer 在会话中存储详细信息
- 使用 SQLServer 在会话中存储详细信息
- 将详细信息传递给可以再次传回的支付提供商。
【问题讨论】:
-
为什么不使用StateServer?您担心的是 Web 服务器出现故障并丢失内存中的会话状态。如果您使用 StateServer,那么您将不会遇到此问题。它与网络服务器是分开的。
-
@casperOne - StateServer 仍然在内存中,只是在一个专用进程而不是工作进程中。如果要重新启动状态服务器服务,则会话状态将消失。 SQL Server 可能是更好的选择。
-
你能告诉我为什么 SQLServer 状态比存储在数据库中或将详细信息直接传递给支付提供商更好吗?
-
@vcsjones:是的,我同意它在内存中,但是 1)它可以托管在另一台机器上,并且 2)他没有说明他是否需要防止机器停机或服务。
标签: c# session-state payment-processing