2012-04-07 8 views
0

大きなプロジェクト(チームは別々に作業しています)で作業していて、ほとんどのアプリケーションが終了したので、すべてをすべて統合する必要があります。多くのアプリケーション/フォームは、他のアプリケーション/フォームと情報をやりとりしたり、他のアプリケーション/フォームから情報を求めたりする必要があります。私はこれを行う標準的な方法があるのだろうかと思います。私たちがこれを行う方法は、共有ファイルを使用することです(たとえば、あるアプリがファイルに情報を書き込み、もう1つがファイルを読み込むなど)。助言がありますか?大きなプロジェクトでのWinFormsアプリケーション間の通信

+0

非常にあなたが共有したいものに多く、そしてときに依存します。コンテキストを追加できますか?これらのアプリが同じボックスに共存しているかどうか、また分散アプリケーションの一部を構成しているかどうかなど、さまざまなアプリが参加するワークフローを大まかに説明します。 –

+1

私は中央データベースを使って通信します。 –

+0

@ValAkkapeddiこれは、言語学習アプリ(クライアント - サーバー)です。ここでは簡単なシナリオがあります:教師ログイン(アカウント管理アプリケーション) - >教師作成/編集/ ...クイズやテスト、エグジット終了など(テスト作成アプリケーション)。後者のアプリでは、教師の資格が必要です。 – saadtaame

答えて

0

あなたの質問には、ファイル共有ソリューションの使用に明らかな欠点があると思います。これは、IO操作のために操作が遅れることです。

また、他のオプションがあり、以下を参照してください。

を完全にあなたの要件を実装するには、アプリケーションおよびアプリケーション内のフォーム間の通信の間の通信を分離する必要があります。

アプリケーション間の通信を実装するには、WCFを使用してサブスクライバ/パブリッシャのパターンを使用することをお勧めします。実装は非常に簡単です。あなたはそれをGoogleにすることができます。 1つの例はhereです。これを行うことで、何かが起こったときを正確に制御し、他のアプリケーションが期待どおりに再現するようにすることができます。

アプリケーションでフォーム間の通信を実装するには、Pub/Subパターンを使用してイベントアグリゲータを作成し、アプリケーションに挿入することをお勧めします。あなたはそれがSCSFにどのように実装されているか見ることができます。

1

はい、私はKeimがコメントで言ったように、あなたは間違いなくすべてのデータベースを使うべきです。 SOの答えは、リレーショナルデータベースについて教えてくれる場所ではなく、C#アプリケーションから適切に使用する方法です。チームを運営している人に行かなければならないことを伝え、これを解決するために誰を雇うべきかを把握させる必要があります。

0

もう1つの解決策は、アプリケーションが互いに通信できるようにメッセージプロトコルを実装することです。 ボトルネックを避けるために、message queueサービスがメッセージ交換を管理できます。

参考文献:

関連する問題