2013-05-03 5 views
6

新しい子プロセスでメソッドを実行することは可能ですか?私の例では、私は(スレッドではない!)新しいプロセスでのプライベートメソッドのdoActionを実行するメソッドを実行し、実行することができ新しいプロセスでメソッドを実行する

public class MyClass 
{ 
    public void Run() 
    { 
     //what should I do there to run 'doAction' in new process? 
     doAction(); 

    } 

    private void doAction() 
    { 
     ... 
    } 
} 
+2

スレッドが十分でない理由は何ですか?なぜあなたは2つの 'myprogram.exe'を一度に実行する必要がありますか?メソッドを実行するだけですか? (それが可能であれば) – sircapsalot

+0

私の質問は、本当の問題よりもむしろ好奇心です。私はそれが可能であることを知りたいです – Jacek

+0

この問題をより良く理解するためには、全体的な考え方をよりよく理解する必要があると思います(技術的にではなく関数の観点から)。 –

答えて

1

プロセスがメモリを共有して通信するために、それらの間のメカニズムを必要としません。 - 一つのプロセスがファイルやDBへの書き込み、他から を読み取り、データやファイルの内容

  • サービスに基づいて、いくつかの方法を実行

    1. ファイルまたはデータ:あなたは、このための様々なメカニズムのいずれかを使用することができますホスト/クライアント - WCF、.NET Remoting、Named Pipesまたは直接使用 1つのプロセスがサービス のインターフェイス実装をホストし、呼び出しプロセス(クライアント)がサービスインターフェイスの プロキシを使用してシリアル化および通信するTCP/IP通信メカニズムホストプロセスへの の呼び出し - のステートフルな要求/応答が必要な場合は、これが最善の方法です対話
    2. メッセージキュー - 私は他の人があると確信しているが、これらは

    一つのプロセスがキューにメッセージを送信し 他のピック、それを起動して実行MSMQのような方法をメッセージ キューを使用します3つの最も一般的な方法。

    私のお気に入りは、軽量サービスのホスト/クライアントシナリオです。これを簡単にするためのいくつかの軽量ユーティリティがあります。 RemotingLiteまたはDuoVia.NetというNamed PipesをサポートするRemotingLiteの独自の拡張子を使用できます。

  • 関連する問題