Process console = Process.Start("Client.exe", "-filename:" + fname + " -list:" + myList)
を実行すると、(myList.ToStringを実行します)とに変換されます:あなたが達成したいものではありませんどの
Client.exe -filename:testDoc -list:System.Collections.Generic.List`1[System.String]
。試してみてください
Process console = Process.Start("Client.exe", "-filename:" + fname + " -list:" + String.Join(",", myList))
またはそれに類するもの。もちろん
UPDATE
、あなたはそのプロセスにデータを渡すのいくつかのより多くの文明化の方法を検討する必要があります。一般的な方法は、次のとおりコメントして供給状況を考えると
- データベース
- ファイルシステム(ファイル)
- WCF
UPDATE
を、私はAを選ぶと思います同期に使用されるデータベースを使用して、サーバー上で稼働しているWindowsサービス(ノンストップ、起動されていない)を完全に分離します。
データ・ツー・処理することが
ウィンドウを表示されているテーブルに行を挿入する(一部の日付またはユーザーIDなど)
- 列
input data
とテーブルTasks
とデータベース、output data
し、必要かもしれない他のどの
- Webページ(x秒ごとに)未処理のタスクをテーブルに照会し、タスクがあれば実行します。結果は、与えられたタスクのために
output data
列ユーザ要求Webページのクエリに
- に保存され、それはそれはだ場合、出力データを示し、状況だが表示されますが
これは、はるかに堅牢で、成長しているユーザトラフィックをはるかに優れたスケール。サービス自体は、複数のコアを利用するために、ワーカースレッドを独立したタスクとして生成するのが理想的です。このようなアーキテクチャを使用すると、パフォーマンスを最適化してタスクを監視する方法がたくさんあります。
ちょうど好奇心から離れる。あなたのリストにはどのくらいのデータ(バイト長)がありますか? – Steve
リストには、 "GUID_fileName.pdf"という形式の文書タイトルが含まれています。バイトの長さについては分かりませんが、これはタイトルが異なるためです。 – Francesco
コマンドライン引数の長さに一定の制限があるため、私は尋ねました。 – Steve