我有网络服务和网络表单。按钮调用web服务,该服务从pid读取给定的进程名称。这在VS2008中工作正常,但是当我发布我的项目时,我没有得到这个名字?如何配置IIS以允许我这样做?还是有另一种方式,即wcf或wwf?
编辑:
using System.Diagnostics; [WebMethod] public string GetProcessName() { Process Process = Process.GetProcessById(1428); string ProcessTitle = Process.MainWindowTitle; return ProcessTitle; }
我使用tasklist.exe / v来获取具有窗口标题的进程的pid。
答案 0 :(得分:0)
鉴于你的代码:
如果你查看这行代码:
Process process = Process.GetProcessById(1428);
将返回NULL
,然后你从{NULL}中获取.MainWindowTitle
...... 保证导致异常...... ..
using System.Diagnostics;
[WebMethod]
public string GetProcessName()
{
string processTitle = string.Empty;
Process process = Process.GetProcessById(1428);
if(process != null)
{
processTitle = process.MainWindowTitle;
}
return processTitle;
}
即使如此 - 再次:你怎么知道ID = 1428的进程存在?
答案 1 :(得分:0)
我无法相信当我将项目部署到Abyss Web服务器时,它就像一个魅力。 非常感谢所有人。