运行
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
当然,你可能要考虑将数据传递给该过程的一些更文明的方法。常用的方法包括:
UPDATE
给出的评论所提供的背景下,我会选择一个完全独立的服务器上运行的Windows服务(不停止,未调用)与用于同步的数据库:
- 数据库表
Tasks
的列input data
,output data
和任何其他你可能想(像某些日期或用户ID)
- 网页中插入行该表为数据待处理出现
- 窗口重复服务(每x秒)查询表中未处理的任务并执行任务(如果有的话);查询结果保存在
output data
列
- 对用户请求的网页查询,对于一个给定的任务,并显示它的状态,显示如果它的输出数据有
这是更为强大和不断增长的用户流量更好的扩展。理想情况下,服务本身可以为独立任务生成工作线程以利用多个内核。有了这样的体系结构,有很多方法可以优化性能并监视任务。
只是出于好奇。您的列表中有多少数据(字节长度)? – Steve 2012-04-04 10:38:53
该列表包含以下格式的文档标题:“GUID_fileName.pdf”。关于字节长度,我不知道,我应该看看这个,因为标题会彼此不同。 – Francesco 2012-04-04 12:08:00
我问过,因为命令行参数长度有一个确定的限制 – Steve 2012-04-04 12:20:35