您好,在运行我的 wcf 服务时,出现错误“wcf 测试客户端不支持此操作,因为它使用类型 system.object[]”
我正在尝试检索正在运行的进程列表。
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
class Windows_processes_Service:IWindows_processes_Service
{
ArrayList RunningProcesses_Name = new ArrayList();
public ArrayList GetRunningProcesses()
{
Process[] processlist = Process.GetProcesses();
foreach (Process nme_processes in processlist)
{
RunningProcesses_Name.Add(nme_processes.ProcessName.ToString());
}
return RunningProcesses_Name;
}
}
问题是ArrayList
可以是一个列表anything (thus object[]
在错误中),并且测试客户端无法处理该问题。虽然在 WCF 中返回任意对象的数组是完全合法的,但您应该考虑返回客户端感兴趣的实际类型 - 在本例中是一个数组String
应该做。
另外,就其价值而言,在现代 (>1.1) 版本的 .NET 上,ArrayList
通常不使用。通用的List<T>
通常更合适。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)