C# 如何从asmx webmethod获取ArrayList返回
我有一个ASMX Web服务,有一个返回ArrayList的方法。它工作正常,但我不知道如何从客户端代码中获取数组项。下面是asmx方法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
[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();