問題タブ [multi-user]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1025 参照

c# - 複数のユーザー向けの C# テキスト ファイル共有スキーム

Windows フォーム アプリケーションを共有するテキスト ファイルをゼロから作成する代わりに、使用できるスニペット (C#) または方法論を誰かが持っているかどうかを単純に尋ねることにしました。

アプリケーションは、テキスト ファイルを作成し、ネットワーク上の異なる PC から同じアプリケーションを使用する複数のユーザーがファイルにコメントを追加できるようにするだけです。基本的に、このシンプルなアプリを使用して、複数のユーザーに頻繁に更新/コメント/ステータスの変更をプロジェクトに与えようとしています。

ファイルストリームのロックに関する提案をいくつか調べましたが、コード スニペットを共有してくれる人がいるかどうかをもう一度確認したいと思います。

ご協力いただきありがとうございます。デル

0 投票する
1 に答える
927 参照

java - マルチユーザー環境でフォーム編集を処理するには?

私のアプリケーションは、サーバーとクライアントを備えたマルチユーザー アプリケーションです。この 1 つのフォームに複数のユーザーが同時にアクセスし、ドラフトとして保存または送信アクションを実行できます。

問題は、マルチユーザーによるフォームの同時編集を制御したいということです。

例: ユーザー X は、テキストフィールド、チェックボックスの値を編集し、下書きとして保存を実行しています。同時に、ユーザー Y は同じ値を編集してフォームを送信します。フォームの同時編集を制御する方法はありますか。ポインターはありますか?

アプリケーションで java 、 spring 3 、 hibernate JPA を使用しています。

0 投票する
1 に答える
2014 参照

nhibernate - NHibernate の第 1 レベルのキャッシュから削除済みアイテムを削除しますか? または: キャッシュされたアイテムが削除されたかどうかを確認する方法は?

.net モジュールの永続性のために NHibernate を使用するブラウンフィールド マルチユーザー アプリケーション (99% Delphi、1% .net) があります。私のアプリケーションでは、いくつかのエンティティにカテゴリを追加できます。1 つを選択して、それを使用しないことにした場合 (したがって、カテゴリを再度削除する場合)、NHibernate によってロードされ、セッションの第 1 レベルのキャッシュに残ります。ここで、他のユーザーがこのカテゴリを削除し、エンティティを保存しようとすると、読み込まれたオブジェクトがもう存在しないため、アプリケーションが例外をスローします。

私の質問: もう存在しないアイテムがキャッシュにロードされているかどうかを確認する方法はありますか? もしそうなら、キャッシュから存在しないエンティティを削除する方法はありますか?

エンティティをロードします (セッション キャッシュに追加されます) カテゴリを追加します (セッション キャッシュに追加されます) 他の誰かがデータベースからカテゴリを削除します。エンティティを保存すると、カテゴリがもう存在しないため、例外が発生します。

それはまだセッションキャッシュにあります。セッションのキャッシュから (自動的に) 削除できればいいのですが? キャッシュをクリーンアップして、もう存在しないオブジェクトを削除する方法はありますか?

よろしく、テッド

0 投票する
2 に答える
6485 参照

c# - 中央データベースを使用したマルチユーザー環境での Entity Framework データの更新

タイトルを説明しよう。

アプリケーション(TestApp)で Entity Framework Code First を使用しています。デバッグの目的で、TestAppは SQLExpress データベース (中央データベース サーバー) に接続します。

ここで物事を単純にするために、データベースには 1 つのテーブル "Products" が含まれ、TestApp はデータベースのすべての "Products" をデータグリッドに表示し、TestApp は "Product" を追加/削除したり、ProductName を変更したりできます。

たとえば、TestApp がインストールされて実行されている 3 台の PC があります (Client_X と呼びます)。Client_1 を介して新しい「製品」を追加すると、これは Client_2 と Client_3 の TestApp に直接表示されません。新しく追加されたレコードが表示されるよりも、Client_2 と Client_3 がすべてのデータを再度フェッチする (手動更新) 場合のみです。

知りたいこと: EF Code First を介してデータベースの変更を認識するにはどうすればよいですか? 新しい項目が追加または削除されたために、Client_2 と Client_3 はデータグリッドを自動的に更新するにはどうすればよいでしょうか?

質問が多すぎるかどうかはわかりませんが、これを実証するための簡単なサンプル プロジェクトまたは簡単なコードが役立つでしょう。

参考までに: 私は EF Code First の初心者です。(私は .NET 4.0 と EF Code First 4.3.1 を使用しています)

前もって感謝します。

図式:

更新/編集:

わかりました。Entity Framework 自体が複数のクライアント間で同期を行わないことは明らかです。

だから私は別の質問をします: 私はクライアントサーバーの方法で作業することを考えています:

  • データベースを作成し、最初に Entity Framework コードを使用する単一サーバー アプリケーション。
  • その単一のサーバー アプリケーションと通信する複数のクライアント。

    クライアントが同じデータを使用し、お互いの更新/変更を確認するための最良の方法は何ですか? (コードサンプルをいただければ幸いです。)

0 投票する
2 に答える
5906 参照

c# - すべてのクライアントが中央データベースから最新のデータを取得するC#マルチユーザーアプリケーションの手法

マルチユーザー環境の場合:すべてのクライアントがお互いの変更を確認できるようにするにはどうすればよいですか?これを行うための最良の方法は何ですか?

以前、私はC#アプリケーションを作成し、それを2台のPCにインストールしました。中央のSQLExpressサーバーに接続しました(クライアントアプリケーションは、Entity Framework Code FirstをORMとして使用していました)。client1がデータベースにレコードを追加したとき、これはclient2に直接表示されませんでした。client2がすべてのデータを再度フェッチした場合(ハードリフレッシュ)にのみ、変更が表示されました。

今、私はこの「同期」(?)をどのように実行できるか、または実行する必要があるかについての解決策を探しています。私はEntityFrameworkCode Firstを使用するのが好きです。まず、ソリューションがこれを維持できればいいのですが。また、アプリケーションはまだ非常に初期の段階にあります。中央データベースとそれに接続する複数のクライアントがあると思いましたが、これが良い解決策かどうかはわかりません。提案/ソリューションで、クライアントが接続する(およびサーバーアプリケーションがデータベース処理を行う)中央サーバーアプリケーションが必要な場合、これは問題ありません。

可能であれば、基本的なサンプルソリューションまたは常に最新のデータを操作する方法を示すいくつかの基本的なコードが非常に役立つ可能性があります。

同様の質問:

前もって感謝します

0 投票する
1 に答える
4456 参照

eclipse - ワークスペース外での Eclipse プロジェクトの使用 (マルチユーザー)

次のシナリオ:

Eclipse プロジェクトに1 つのルート フォルダーを使用したいと考えています。私が見たので、そのEclipseはマルチユーザーワークスペース(同じワークスペースで同時に多くのユーザー)をサポートしていないため、別のソリューションを探していました。

ランダムに、デフォルトの場所ではなく、ワークスペース外の場所 (すべてのクライアントが独自のワークスペースを取得する) で「新しいプロジェクト」を作成しました。

Eclipse は{workspace}/.metadata/.plugings/org.eclipse.core.resources/.projects/の下に生成されます

プロジェクトの場所に関する情報とその他のデータ (.safeable、.tree) のみを保持するフォルダー。そのため、プロジェクトの名前を変更すると、他のクライアントのプロジェクトが自動的に更新されます。ほとんどの場合、それほど悪くはありません。

私の質問: 私はそれで気分が悪い. ソースコードからこれらの「リンクされたプロジェクト」を作成するには、「内部パッケージ」を使用する必要があります。これが適切な動作であるかどうかはわかりません。

それで、一部のユーザーがEclipseアプリケーションでバイナリデータを共有する必要があるシナリオをどのように処理しますか. SVN と .git は、バイナリ ファイルにあまり慣れていません。

提案をいただければ幸いです。ありがとう。

アップデート

どのように私は問題を解決しました:

すべてのユーザーは自分のワークスペースを持っています。それに加えて、「中央ワークスペース」があります。これは単なる通常のワークスペースですが、そこからユーザー ワークスペース内のすべての IProject がリンクされます。

独自のワークスペースの外にある IProject をリンクするためのソース コードを次に示します。

このコードはWorkspaceJob で実行する必要があります。

その後、実際にはワークスペースに配置されていない IProject を無制限のユーザーで操作できます。その場合、内部パッケージは使用しません。

0 投票する
1 に答える
1616 参照

sql - ファイル サーバー (Windows) のみを使用するマルチユーザー アプリケーションの場合は、データベースを選択します。

ファイル サーバー上の同じデータベースを使用する Windows ベースのアプリケーションの複数の同時ユーザー用のデータベース ソリューションを選択する必要があります。

Windows OS ファイル サーバー上に存在するデータベースが必要です。

  1. 個々の MS Windows マシン (主に Windows 7) で実行されている複数のアプリケーションで共有する必要があります。
  2. ファイル サーバーによって利用可能になります。
  3. データベース サーバー/エンジン (内部の政治的ルールのため) または Web ページ サーバーを使用できません。
  4. WPF アプリケーションのセットには C# を使用することをお勧めします。
  5. 現在、一連の MS Access ファイルを含む一連の VB アプリケーションを使用しています。これらのアプリケーションの 1 つに問題があり、書き直す必要があります。
  6. 現在、約半ダースの *.mdb ファイル (一部はリンク テーブル付き) のセットは、約 400 MB です。推定 10 ~ 20 MB/年の成長。
  7. 現在、それぞれが自分の PC で最大約 10 人の同時ユーザー。将来、これに関する多くの変更を期待しないでください。
  8. すべてのアプリは、データベースへのデータの読み取りと書き込みの両方を行います。
  9. 現在、何人か (約 4 人) が Access でアドホック クエリを作成しています。彼らは引き続き何らかの方法でクエリを作成できる必要があります。
  10. エンド ユーザーによるデータベース構造の変更 (テーブル/列の追加) を防止したい。
  11. フリーソフトウェア。

私が知っている選択肢は次のとおりです。

  1. .mdb ファイルにアクセスします (現状)。
  2. SQLite。
  3. SQL サーバー CE。

必要な特性の多くまたはすべてに適合する、機能する可能性のある他のシステムはありますか? 検討しているシステムについて知っておくべき特定の「落とし穴」はありますか?

0 投票する
5 に答える
620 参照

java - 訪問者ごとに1回だけスレッドを開始するサーブレット

ねえ、私はすべてのシングルユーザーに対して一度だけスレッドを開始するJavaサーブレットを実装したいと思います。更新しても、再開しないでください。私の最後のアプローチは私にいくつかの問題をもたらしたので、コードはありません^^。サーブレットのレイアウトに関する提案はありますか?

jspはajaxを使用して定期的にサーブレットに投稿し、ステータスを取得します。スレッドはちょうど3分のように実行され、last.fmデータをクロールします。

0 投票する
2 に答える
3962 参照

input - 複数のユーザーが、同じ PC から異なる画面で別々の VM を同時に使用する - どのように?

仮想化を使用して、同じ部屋で複数の同時ユーザーのワークステーションとして機能する 1 台のデスクトップ コンピューター - できるでしょうか?!

新しい PC を購入し、間もなく Hyper-V を搭載した Windows 8 を購入したので、理論的には、4 台の個別のモニターを駆動するためのコンピューティング パワーとポートを手に入れることができます。この仮想ネットワークを構築すると、3 人の友人が訪問し、4 プレーヤー ゲーム、コンソール スタイル、各ユーザーの入力が別の VM に向けられて監視されるようになります。入力は、ゲーム コントローラーまたはキーボードとマウスの組み合わせである可能性があり、おそらく両方が同時に (?!)

ネットを検索しても、Windows 8 (またはこの方法で使用されている他の OS) の例はまだ見つかりません。この計画には克服できない欠陥がありますか? サードパーティのツールが必要ですか? 考え?コメント? 例?

返信をお待ちしております。ありがとうございます。

0 投票する
3 に答える
2941 参照

android - XMPP ルームへの招待

私のチャット アプリケーションでは、グループ チャット機能を実装したいと考えています。同じように、ルームを作成し、友人にルームへの招待状を送信したいと考えています。参加して友達を部屋に招待するコードは次のとおりです。

ルームを作成するには

招待を受け取るために、サービス クラスに招待リスナーを実装しました。しかし、通知で招待状を受け取ることができません。コードに問題があります。

これが私の招待リスナーです。

招待状が届かない理由を教えてください。

ありがとう