0

webspeed を使用して Web アプリケーションを開発しています。私のコードは cgi-wrappers のみで書かれています。現在、私は wesession の管理に取り組んでいます (すべてのケース)。問題は、F5 キーを使用してページを更新すると、.p が常に新しいセッション ID を作成することです。.p でこのような状況にどのように取り組むことができますか? この問題は、コードが .html ファイルに記述されている場合には発生しませんが、コードが完全に .p ファイルに記述されている場合には発生します。

ありがとう。

4

2 に答える 2

0

セッションを識別するためのより良い方法が必要です。ここを見て、役に立つものがあるかどうかを確認してください: http://freeframework.sourceforge.net/

于 2012-06-13T13:45:39.517 に答える
0

OpenEdge の世界のほとんどの人は (私自身も含めて) 独自のセッション処理を作成していますが、いくつかの代替手段があります。

Tim が言及しているように、12 年前から存在する Free Framework がありますが、それがまだ活発に開発されているかどうかはわかりません。

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 のスレッドからの抜粋を次に示します。

メッセンジャーでは、$DLC/properties/ubroker.porperties に設定する必要があります。webspeed エージェントの環境セクションで useConnID=1 を設定する必要があります。SESSION_PATH を設定する必要があります。これは、セッション変数を保存するディレクトリを指している必要があります。これを行った場合は、setSession("VarName","VarValue") を使用して変数を設定し、getSession("Varname") を使用して値を取得できます。セッション変数は、ファイル名 ENCODE(SESSION:SERVER-CONNECTION-ID).tmp に格納されます。

この方法には次のような欠点があります。値は常に文字として保存され、ファイルの最大サイズは 32K です (少なくとも以前はそうでした)。しかし、あなたがやろうとしていることがそれほど複雑でないなら、それは良い出発点です. 独自の sessionManager の実装を開始することで、いつでもこれを拡張できます。

うまくいけば、あなたが使用できるいくつかの有用な情報がそこにあるでしょう!

于 2012-06-26T08:44:03.033 に答える