Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将数组传递给c中的webservice#_C#_Asp.net_Arrays_Web Services - Fatal编程技术网

C# 无法将数组传递给c中的webservice#

C# 无法将数组传递给c中的webservice#,c#,asp.net,arrays,web-services,C#,Asp.net,Arrays,Web Services,朋友们,我正在尝试从控制台应用程序向asp webservice方法传递一个数组,错误是 “最佳重载方法有一些无效参数” 下面是我传递的函数的控制台端,数组给出了错误 int[] t = new int[6]; ServiceReference1.WebService1SoapClient client=new ServiceReference1.WebService1SoapClient(); for (int i = 0; i < 7; i++) { t[i] = Convert.

朋友们,我正在尝试从控制台应用程序向asp webservice方法传递一个数组,错误是 “最佳重载方法有一些无效参数”

下面是我传递的函数的控制台端,数组给出了错误

int[] t = new int[6];
ServiceReference1.WebService1SoapClient client=new ServiceReference1.WebService1SoapClient();
for (int i = 0; i < 7; i++)
{
  t[i] = Convert.ToInt32(Console.ReadLine());
}
client.bublesort(t);    //Here is the error in passing to webservice method
int[]t=newint[6];
ServiceReference1.WebService1SoapClient=newServiceReference1.WebService1SoapClient();
对于(int i=0;i<7;i++)
{
t[i]=Convert.ToInt32(Console.ReadLine());
}
客户:bublesort(t)//下面是传递给webservice方法时的错误
另一方面,我的WEBSERVICE方法代码是 内部温度=0

[WebMethod]
public int[] bublesort(int[] arr)      
{
    for (int i = 0; i < 5; i++)
    {
        for (int j = i + 1; j < 6; j++)
        {
            if (arr[i] > arr[j])
            {
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
    return arr;
}
[WebMethod]
公共int[]bublesort(int[]arr)
{
对于(int i=0;i<5;i++)
{
对于(int j=i+1;j<6;j++)
{
if(arr[i]>arr[j])
{
温度=arr[i];
arr[i]=arr[j];
arr[j]=温度;
}
}
}
返回arr;
}

您的问题是您已经创建了ASMX web服务并试图添加为服务引用

如果在客户端中检查方法签名,则它不接受整数数组。相反,它有ServiceReference1.ArrayFint类对象

ServiceReference1.WebService1SoapClient client=new ServiceReference1.WebService1SoapClient();
for (int i = 0; i < 7; i++)
{
  t[i] = Convert.ToInt32(Console.ReadLine());
}
ServiceReference1.ArrayOfInt item = new ServiceReference1.ArrayOfInt();
item.AddRange(t);
ServiceReference1.ArrayOfInt result = client.bublesort(item);
foreach (var i in result)
{
  Console.WriteLine(i);
}
ServiceReference1.WebService1SoapClient=newServiceReference1.WebService1SoapClient();
对于(int i=0;i<7;i++)
{
t[i]=Convert.ToInt32(Console.ReadLine());
}
ServiceReference1.ArrayFint项=新的ServiceReference1.ArrayFint();
项目.添加范围(t);
ServiceReference1.ArrayFint结果=client.bublesort(项目);
foreach(结果中的var i)
{
控制台写入线(i);
}

我认为这将解决您的问题。

您得到的错误是什么?无法将数组传递到方法中。方法在webservice中…错误是。。“最佳重载方法有一些无效参数”客户端的方法签名是什么?感谢您的解决方案,但现在的问题是,当我以console.writeline(client.bubblesort(item))的身份编写时,它并没有给出输出;为了显示排序数组,它在输出中给了我这个。“ServiceReference1.ArrayofInt”。检查更新的代码,您也可以验证返回类型是什么?哦,我非常非常感谢您,亲爱的……您已经解决了我的问题。。。。。再次感谢你。。。。