IIS上的Web服务
问题描述:
我有一个web服务和一个webform。一个按钮调用从pid读取给定进程名称的webservice。这在VS2008中工作正常,但是当我发布我的项目时,我不知道名称?我如何配置IIS以允许我这样做?或者是否有其他方式,即wcf或wwf?IIS上的Web服务
编辑:
using System.Diagnostics; [WebMethod] public string GetProcessName() { Process Process = Process.GetProcessById(1428); string ProcessTitle = Process.MainWindowTitle; return ProcessTitle; }
我用tasklist.exe/V获得具有窗口标题进程的PID。
答
鉴于你的代码:
- 你怎么知道有一个与PID = 1428的过程?
- 如果该过程不存在会怎么样?
如果你看看这行代码:
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的过程存在?
+0
我使用tasklist.exe/v来获取具有窗口标题的进程的pid。我在代码中提到了这个。 1428是我的Chrome浏览器(google.com),所以我确定它退出:p – dany 2010-06-06 18:18:15
答
我不敢相信,当我将我的项目部署到Abyss Web服务器时,它就像一个魅力。 感谢所有反正。
上面添加的代码。 – dany 2010-06-06 17:34:04
请参阅窗口事件中的任何异常。可能存在授权问题。当你从VS运行代码时,它是调用OS的用户。但在IIS上,用户将是ASPNET。 ASPNET可能未被授权运行特定的代码。在这样的代码中,您可能会在安全或应用程序事件中遇到异常。 – Kangkan 2010-06-06 17:38:32
如何启用ASP.Net? – dany 2010-06-06 17:49:13