2

4D mobile と Connect to Remote Datastore を使用して、Wakanda Enterprise v11 から 4D Server に接続しています。私は60分のタイムアウト値を尊重します。

4D ではon 4D Mobile Authentication Method、すべてのデータに問題はありません ($1ユーザー名と$2パスワードが含まれます)。

非アクティブ状態が 60 分を超えて wakanda リクエストを送信しようとすると、on 4D Mobile Authentication Method4D$1$2, .. 値が空になり、"エラー" が返されます。

wakandaサーバー機能からwakandaサーバー/モデルを再起動/リロードせずに接続を更新/再接続するにはどうすればよいですか、またはタイムアウトを無制限に設定するにはどうすればよいですか?

を使用して4D Serverとの接続を回復しようとしています

  • mergeoutsidecatalog()
  • 4Dに休憩リクエストを送る

何も機能しません

4

5 に答える 5

1

状態のドキュメントmergeoutsidecatalog():

timeout (オブジェクトベースの構文のみ) : 4D サーバー上のクライアント接続のタイムアウト (分を表す数値を渡します)。外部 4D データベースへの REST アクセスを必要とする各クライアント クエリは、クライアント コンテキストを維持しながら、4D サーバー側でクライアント接続 (プロセス) を作成または使用します。デフォルトでは、非アクティブ状態が 60 分間続くと、接続は閉じられます。必要に応じて、このタイムアウトを 15 分に短縮できます。

したがって、接続を維持するには、タイムアウトが経過する前にクエリを送信する必要があります。

mergeoutsidecatalog()問題は、タイムアウトが経過すると、再度呼び出すことができないということです。Model オブジェクトが読み込まれているときにのみ実行できるため、Wakanda を再起動する必要があります。この動作は、次のドキュメントに記載されてい mergeoutsidecatalog()ます。

このメソッドは、現在の Model オブジェクトが読み込まれるとき、つまり Model.js ファイルのコンテキストで呼び出される必要があります。

を確認currentSession()すると、エンドユーザー セッションの有効期限が切れたときに分離するのに役立つ場合がありますが、ユーザーをログイン ページにリダイレクトしても、Wakanda サーバーはmergeoutsidecatalog()モデルをリロード (つまり、Wakanda を再起動) しないと呼び出すことができないため、役に立たないと思います。

4D と Wakanda 間の接続を無期限に維持したい場合は、次のいずれかを行う必要があります。

a) タイムアウトを非常に大きな値に増やします (タイムアウトが無効になるかどうかを確認するために 0 を試してみてください)
、または
b) タイムアウトが経過する前にクエリを送信して 4D Server へのハートビート接続を維持します。

于 2016-03-02T02:10:08.580 に答える
0

これらの線に沿って問題が発生したことを思い出します。4D サーバーに Wakanda のライセンスがあることを確認してください。サーバーがライセンスを持っていないことを好まないことがわかりました。サーバーに 4D Mobile Client ライセンスがあることを確認してください。設定されたシート数の開発者ライセンスを購入しない限り、デフォルトではライセンスは 0 です。

于 2016-03-03T15:30:33.283 に答える