我正在开发一个网络应用程序。由于某些原因,我需要使用外部存储来存储会话状态。当我使用 Oracle 10g 作为后端数据库时,我可以使用相同的 oracle 10g db 来存储会话状态吗?
提前致谢..
我正在开发一个网络应用程序。由于某些原因,我需要使用外部存储来存储会话状态。当我使用 Oracle 10g 作为后端数据库时,我可以使用相同的 oracle 10g db 来存储会话状态吗?
提前致谢..
如果你想使用内置的会话 API,你应该实现你自己的Session-State Store Provider。应该不会太难,因为你可以只改变存储模型,而不必担心为请求获取和释放会话状态,这是由内置的会话状态提供者完成的。
编辑:Oracle 自己似乎提供了一个会话状态的实现,你可以使用它。http://www.oracle.com/technology/tech/dotnet/aspnet/index.html
是的,这就是 Oracle 自己使用Application Express Web 应用程序工具所做的事情。本质上,您只需给每个会话一个唯一的会话 ID,然后将所有会话状态记录在如下表中:
create table session_state
( session_id integer
, item_name varchar2(100)
, item_value varchar2(4000)
, primary key (session_id, item_value)
);