将字符串列表传递给webservice

时间:2015-02-19 08:51:48

标签: c# web-services list parameters

我有这段代码:

List<string> emailsToFollow = new List<string>();
ASMXWebServiceReference.WebServiceSoapClient MyASMXWebServiceClient = new ASMXWebServiceReference.WebServiceSoapClient();
//Add values to List here
//Call the webservice
ASMXWebServiceReference.SendResponse mySendResponse = await MyASMXWebServiceClient.SendAsync("g@gg.gg", emailsToFollow);

在网络服务中,这是我职能的标题:

public bool Send(string myEmail, string[] emaislToFollow)

问题是我收到了这个错误:

  

错误参数2:无法转换   &#39; System.Collections.Generic.List&#39;至   &#39; App9.ASMXWebServiceReference.ArrayOfString&#39;

为什么?

2 个答案:

答案 0 :(得分:1)

我终于得到了答案并更新了我的帖子。好吧,似乎你必须在这里进行一些转换

ASMXWebServiceReference.ArrayOfString myArray = new ASMXWebServiceReference.ArrayOfString();
myArray.AddRange(emailsToFollow);

似乎在服务之外你必须使用ArrayOfString类并将你的集合转换为这种非常特殊的类型。

希望这有帮助。

答案 1 :(得分:1)

更改发送的签名:

public bool Send(string myEmail, List<string> emaislToFollow)