私たちは大規模なe-businessアプリケーションサーバーを持っていますが、私たちはコントロールできません。このアプリケーションサーバーの背後にある企業も、顧客の要件に合わせて変更することはありません。これは、彼らが私たちを競合他社とみなし、顧客がアプリケーションのフロントエンドとしてアプリケーションを使用することを望まないという事実によるものです。.lockファイルの処理
デスクトップアプリケーションは、Webサービスを使用してこのアプリケーションサーバーと通信し、デスクトップからの各ログインはサーバー上のユーザースロットを占有します。アプリケーションサーバーには、ユーザースロットが使用されているかどうかを判断する機能はありません。アプリケーションサーバーとデスクトップクライアントの中間に位置するアプリケーションを開発するのが最善のソリューションです。このアプリケーションはユーザースロットの割り当てと割り当て解除を管理し、問題は解決されます。このソリューションは、お客様がアプリケーションをe-businessアプリケーションサーバーにインストールしたくないため、前述のe-businessサーバーのユーザーサポートを無効にするため、辞退されました。代替サーバーは余分なサーバーになりますが、対処したい。
私たちのデスクトップアプリケーションが共有フォルダへの書き込みアクセス権を持つソリューションを私たちに残します。各デスクトップアプリケーションにはUIDがあり、そのUIDをユーザースロットIDとともに使用し、ファイルUID.UserSlotId.lockedを作成します。これは、接続が行われるたびに、デスクトップアプリケーションがこの共有場所をチェックし、取得されたUserSlotIdを使用しないことを確認する必要があることを意味します。
ロックされたファイルは恐ろしい解決策ですが、顧客はこれを要求しています。彼らは98%の解決策が良い解決策であるという前提の下にあります。だからStackOverflowコミュニティは、そのようなファイルロックシステムを扱うアドバイスの方法で何を提供できますか?
この手順はどのようにして200人の同時ユーザーが行うことができますか?それは問題を引き起こすか? – Mouse
@Mouse。アプリケーションが開いている間に接続を開いたままにし、各キーに新しい接続を作成しないと仮定します。 200人のユーザーの場合、私はロックファイルをランダムな順番でチェックし、おそらく最初にアプリケーションが正常に取得した最後のロックファイルを試そうとします。 –