首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在cgi-wrapper代码文件中管理websession?

如何在cgi-wrapper代码文件中管理websession?
EN

Stack Overflow用户
提问于 2012-06-13 19:58:31
回答 2查看 829关注 0票数 0

我正在使用webspeed开发一个web应用程序。我的代码只用cgi-wrappers编写。目前,我正在致力于管理wesession (所有案例)。现在的问题是,当我使用F5密钥刷新页面时,我的.p总是创建一个新的会话id。如何在.p中处理这种情况?如果代码是以.html文件编写的,而是完全以.p文件编写的,则不会出现此问题

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-06-13 21:45:40

您需要一种更好的方法来标识会话。看看这里有没有什么有用的东西:http://freeframework.sourceforge.net/

票数 0
EN

Stack Overflow用户

发布于 2012-06-26 16:44:03

OpenEdge世界中的大多数人都编写自己的会话处理(包括我自己),尽管也有一些替代方案。

正如Tim提到的,自由框架已经存在了12年,但我不知道它是否还在积极开发中。

eScript框架是WebSpeed的一个很好的替代品,它允许您拆分业务逻辑和UI。您将意识到,使用cgi-wrappers是字符串处理的痛苦( 4GL字符串中的JavaScript代码使用引号和双引号是一场噩梦)。完整的框架(我相信有一个正在进行的使用完整框架的许可证)内置了完整的会话处理。

我相信在接下来的12个月里,eScript开发者将会发布一个全新的框架来替代eScript;要了解更多信息,请在Rule Six上注册eScript开发者的邮件列表(他的名字是Matt Verrinder,我和他没有任何关系)。

我自己使用的是基本的eScript web对象。这没有持续的许可(你只需要从Matt那里获得一些前期咨询),并让你廉价地享受业务逻辑/UI拆分的好处。当然,您仍然需要编写自己的会话处理。

对于OpenEdge开发人员来说,www.progrestalk.com是一个很好的资源:您在那里比在Stackoverflow上更有可能获得有用的答案。如果你在他们的论坛上搜索一下,你会发现大量关于会话处理的信息。

OpenEdge确实内置了会话处理功能。以下是Progresstalk上的thread的摘录:

在您需要在$DLC/properties/ubroker.porperties: useConnID=1中设置的信使上,您需要在webspeed代理的环境部分中设置SESSION_PATH。这应该指向您想要存储会话变量的目录。如果您已经这样做了,那么可以使用setSession("VarName","VarValue")来设置变量,使用getSession("Varname")来检索值。会话变量存储在一个名为ENCODE(SESSION:SERVER-CONNECTION-ID).tmp的文件中。

这种方法有它的缺点:值总是以字符的形式存储,文件的最大大小是32K (好吧,至少以前是这样)等等。但是,如果你要做的事情不是太复杂,那么这是一个很好的起点。人们可以通过开始实现自己的sessionManager来扩展这一点。

希望其中有一些有用的信息可以使用!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11014365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档