Im пытается использовать форму окна с веб-службой и сталкивается с этой проблемой: Невозможно преобразовать int [] в массив int. в моей форме окна, когда Тринг передать ИНТ [] для WebService и мой код, как ниже: Web Сервис-код:использовать массив из окон в веб-службу
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public int plus(int [] x)
{
int y=x[0] + x[1];
return y;
}
}
и окна формы код:
private void button1_Click(object sender, EventArgs e)
{
int[] x = new int [2];
x[0] = 1;
ServiceReference1.WebService1SoapClient c = new ServiceReference1.WebService1SoapClient();
c.plus(x);
}
уверен, что я добавил ServiceReference до того и его ОК, но ошибка в строке «c.plus (x)»: Невозможно преобразовать int [] в массив из int. Я попытался добавить c.plus (x.ToList()); и та же ошибка. Я попытался настроить ссылку на службу и изменить тип коллекции на generic.list, а также ту же ошибку. любое предложение?
Почему вы создаете старую (и не очень совместимы) ASMX службы вместо службы WCF? –
Вы создали старую (до 2008 года) службу ASMX, но вы использовали кнопку «Service Reference» для создания своего прокси-сервера, который работает с WS-I-совместимыми службами. В то время WSDL и XSD были очень разными. Вам нужно использовать кнопку «Добавить веб-ссылку», чтобы добавить прокси-сервер старого стиля. Лучшим вариантом является создание службы WCF. Пользователи вашей службы будут * не удивлены, если им придется иметь дело с несовместимой услугой. –
Еще одно соображение заключается в том, что службы ASMX находятся в режиме обслуживания - никаких новых функций, ошибки исправляются нечасто и часто выпускаются только во время основных обновлений .NET. –