C# 如何从asmx webmethod获取ArrayList返回

C# 如何从asmx webmethod获取ArrayList返回,c#,.net,C#,.net,我有一个ASMX Web服务,有一个返回ArrayList的方法。它工作正常,但我不知道如何从客户端代码中获取数组项。下面是asmx方法 [WebMethod] public ReturnParcel[] getConStrings(string dbType) { var OdbName = GetSetting(document, "Odbname"); var OuserName = GetSetting(document, "Ousername"); var Opass

我有一个ASMX Web服务,有一个返回ArrayList的方法。它工作正常,但我不知道如何从客户端代码中获取数组项。下面是asmx方法

[WebMethod]
public ReturnParcel[] getConStrings(string dbType)
{
   var OdbName = GetSetting(document, "Odbname");
   var OuserName = GetSetting(document, "Ousername");
   var Opassword = GetSetting(document, "Opassword");
   if (dbType == "Oracle")
   {
      return new ReturnParcel[] {new ReturnParcel { DBName = OdbName, UserID = OuserName, Password = Opassword },};
   }
   else
   {
      return new ReturnParcel[] {new ReturnParcel { DBName = SdbName, UserID = SuserName, Password = Spassword },};
   }
}

public class ReturnParcel
{
   public string DBName { get; set; }
   public string UserID { get; set; }
   public string Password { get; set; }
}
客户端代码:

 WebServiceProxy.OraSPDataXchange objServiceClient = new WebServiceProxy.OraSPDataXchange();
 objServiceClient.Url = "http://portal.mydomain.local/_layouts/SPCustomWS/OraSPDataXchange.asmx";

 objServiceClient.getConStrings("Oracle");
检查客户端代码的最后一行..在那里我需要得到返回的值..因此需要知道如何在这里得到它..

我假设

var receivedConnectionStrings = objServiceClient.getConStrings("Oracle");

将结果放入
receivedConnectionString
变量。

您的方法似乎返回ReturnParcel items数组,而不是ArrayList。在客户机部分,您已经获得了这些值,但只是忽略了返回值。你到底想达到什么目的?为什么不这样做:ReturnParcel[]items=objServiceClient.getConstructions(“Oracle”)?是否尝试将返回的项目强制转换为
ArrayList
?客户端代理中的集合类型不必与服务器端集合类型相同。该类型是在代理生成器中配置的。Albin您答对了:)您认为这会给我值吗?string adbname=ReceivedConnectionString[0].DBName.ToString();string auserid=ReceivedConnectionString[1]。密码。ToString();