作者:迷途羔羊1989_751 | 来源:互联网 | 2024-10-10 12:08
将generic.list转换为ArrayOfInt,以便通过SOAP传输到Web服务我正在尝试使用SOAP协议将一个通用的整数列表从客户端应用程序传递给Web服务。当我尝试将列表
将generic.list转换为ArrayOfInt,以便通过SOAP传输到Web服务
我正在尝试使用SOAP协议将一个通用的整数列表从客户端应用程序传递给Web服务。
当我尝试将列表作为参数传递给Web服务中声明的Web方法时,我收到错误“无法从generic.list转换为ArrayOfInt”。
我该如何解决这个问题?
// web service method [WebMethod(CacheDuration = 30, Description = "Returns the calculated sum value of all numbers supplied in the list")] public int CalculateListSum(int[] list) { int _sum = 0; foreach (int _val in list) { _sum += _val; } return _sum; } // client app buton click event private void btnRun_Click(object sender, EventArgs e) { string str = this.tbValues.Text; // clear the list ClearIntList(); // take the textbox input, format and add to the List PopulateIntList(str); WSCalculate.CalculateSoapClient client = new WSCalculate.CalculateSoapClient(); int[] _int_array = this._int_list.ToArray(); // the line below is generating the error int _result = client.CalculateListSum(_int_array); this.tbResult.Text = _result.ToString(); }
错误1’WFCalculate.WSCalculate.CalculateSoapClient.CalculateListSum(WFCalculate.WSCalculate.ArrayOfInt)’的最佳重载方法匹配具有一些无效参数WFCalculate Form1.cs 58 27 WFCalculate
错误2参数’1’:无法从’int []’转换为’WFCalculate.WSCalculate.ArrayOfInt’WFCalculate Form1.cs 58 51 WFCalculate
嘿Abs,以为你可能想查看我的post,因为我认为我们有完全相同的问题…(可能是相同的课程大声笑)我设法解决它
SOAP不了解列表和集合,但理解数组。
将整数列表转换为整数数组:
int[] intArr = myList.ToArray();
并通过它来代替。
更新:
看起来Web服务期待WFCalculate.WSCalculate.ArrayOfInt
,因此您需要将列表转换为该列表并将其传递通过。
未经测试:
上述就是C#学习教程:将generic.list转换为ArrayOfInt,以便通过SOAP传输到Web服务分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记
WFCalculate.WSCalculate.ArrayOfInt myClientArray = (WFCalculate.WSCalculate.ArrayOfInt)myList.ToArray(); int _result = client.CalculateListSum(myClientArray);