如何获取线程传递的参数
我在asp.net(webform) 启动了一个外部程序并且传递了参数。请问大家:被启动的程序怎样才能获取到参数呀?谢谢啦!
代码如下:
string arguments = 参数;
Process ps = new Process();
ps.StartInfo.CreateNoWindow = false;
ps.StartInfo.WorkingDirectory = ConfigurationManager.AppSettings["SendMailPath"];
ps.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
ps.StartInfo.Arguments = arguments;
ps.StartInfo.FileName = "emailapp.exe";
ps.StartInfo.UseShellExecute = true;
ps.Start();
------解决方案--------------------开启的是什么程序呢?一般可通过Main(string[] args)来获得参数(多个参数以空格间隔)
------解决方案--------------------主函数,一般在program.cs中
public static void Main(string[] args),其中args就是命令行参数
------解决方案--------------------调用WebService不能实现这个功能吗?
------解决方案--------------------ps.StartInfo.Arguments = arguments;
这个就是传递参数用的。
ps.StartInfo.Arguments = ”c:\abc.txt";
ps.StartInfo.FileName = "notepad.exe";
这就是命令记事本打开c盘的abc.txt文件。当然,你运行的账号要有足够权限才行。
------解决方案--------------------原来你这个需求只是为了发邮件。
发邮件有一命令是SendAsync(),异步发送。
或者你可以设置页面的超时时间足够长。
总不至于为了这点小坑就以降低服务器的安全性为代价。