因为它使用System.Object类型,不支持在WCF测试客户端这个操作[]

编程入门 行业动态 更新时间:2024-10-28 02:22:35
本文介绍了因为它使用System.Object类型,不支持在WCF测试客户端这个操作[]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

喜在运行我的WCF服务,它给我的错误,因为它使用System.Object类型[]不支持在WCF测试客户端这个操作

我尝试检索正在运行的进程列表中。

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)     类Windows_processes_Service:IWindows_processes_Service     {         ArrayList的RunningProcesses_Name =新的ArrayList();         公众的ArrayList GetRunningProcesses()         {             流程[] PROCESSLIST = Process.GetProcesses();             的foreach(在PROCESSLIST过程nme_processes)             {                 RunningProcesses_Name.Add(nme_processes.ProcessName.ToString());             }             返回RunningProcesses_Name;         }     }

解决方案

既然你添加字符串( ProcessName.ToString() - 尽管的ToString()不需要为 ProcessName 已经是字符串)为您服务,你应该定义你的方法返回一个名单,其中,串> 而不是的ArrayList

这可以简化为:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single) 类Windows_processes_Service:IWindows_processes_Service {     公开名单<字符串> GetRunningProcesses()     {         返回Process.GetProcesses()选择(P => p.ProcessName)。.ToList();     } }

hi while running my wcf service it gives me error "this operation is not supported in the wcf test client because it uses type system.object[]"

i m trying to retrieve the running process list.

[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; } }

解决方案

Since you're adding strings (ProcessName.ToString() - though ToString() is not required as ProcessName is already a string) to your service, you should define your method to return a List<string> instead of ArrayList.

This can be simplified to:

[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)] class Windows_processes_Service:IWindows_processes_Service { public List<string> GetRunningProcesses() { return Process.GetProcesses().Select(p => p.ProcessName).ToList(); } }

更多推荐

因为它使用System.Object类型,不支持在WCF测试客户端这个操作[]

本文发布于:2023-10-30 12:17:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1542825.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:不支持   因为它   客户端   类型   操作

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!