Я делаю веб-сервис (не могу перейти на wcf из-за .net req).В моем классе WebServiceRequest есть список других классов.Я получаю сообщение об ошибке ниже при попытке скомпилировать код:
request.List = list;
Не удается неявно преобразовать тип 'System.Collections.Generic.List' в 'ServiceReference1.foo []'
Эта ошибка исчезает, когда я выполняю request.List = list.ToArray();
, но когда я запускаю код, я получаю следующее исключение:
Произошла ошибка при получении ответа HTTP на http://localhost:60380/fooService/fooService.asmx. Это можетиз-за привязки конечной точки службы, не использующей протокол HTTP.Это также может быть связано с тем, что сервер прерывает контекст HTTP-запроса (возможно, из-за закрытия службы).Дополнительные сведения см. В журналах сервера.
Внутреннее исключение:
Основное соединение было закрыто: при получении произошла непредвиденная ошибка.
Трассировка стека сервера:
в System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException (веб-исключение WebException, HttpWebRequest запрос, HttpAbortReason abortReason)
estHhannelChannelChannelChannel.WaitForReply (тайм-аут TimeSpan) в System.ServiceModel.Channels.RequestChannel.Request (сообщение-сообщение, тайм-аут TimeSpan) в System.ServiceModel.Dispatcher.RequestChannelBinder.Request (сообщение-сообщение, тайм-аут TimeSpan) в System.ServiceModel.CnelS.Cnelnel.Строковое действие, Boolean oneway, операция ProxyOperationRuntime, Object [] ins, Object [] outs, TimeSpan timeout) в System.ServiceModel.Channels.ServiceChannel.Call (Строковое действие, Boolean oneway, ProxyOperationRuntime, Object [] ins,Object [] outs) в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (метод IMethodCallMessageCall, операция ProxyOperationRuntime) в System.ServiceModel.Channels.ServiceChannelProxy.Invoke (сообщение IMessage)
* в 1028System.Runtime.Remoting.testpingtestSoapClient.ServiceReference1.testpingtestSoap.Calculatetestping (запрос CalculatetestpingRequest1) в каталоге c: \ Users \ User \ AppData \ Local \ Temp \ Временные файлы ASP.NET \ test \ 2e05987f \ 91110734 \ App_WebReferences.rwmro5zd55.testpingtestSoapClient.Calculatetestping (CalculatetestpingRequest _request) в каталоге c: \ Users \ Пользователь \ AppData \ Local \ Temp \ Временные файлы ASP.NET \ test \ 2e05987f \ 91110734 \ App_WebReferences.rwmro5zd.0.cs: строка 862 в testCost2.Calculatetestping () в c: \ Users \ User \ Desktop \ test \ InfoSystem \ testping \ testCost2.aspx.cs: строка 203 в testCost2.Submit_Go (отправитель объекта, EventArgs e) вc: \ Users \ Пользователь \ рабочий стол \ test \ InfoSystem \ testping \ testCost2.aspx.cs: строка 148 в System.Web.UI.WebControls.Button.OnClick (EventArgs e) в System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) в System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (String eventArgument) в System.Web.UI.Page.RaisePostBackEvent (IPostBackEventEvent, EventWackEventHevent, IP-интерфейс.UI.Page.RaisePostBackEvent (NameValueCollection postData)
в System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint)
1032 * Редактировать 1 класс веб-службы запроса1033 *
public class Item
{
public List<string> Composites { get; set; }
public string Composites_List { get { return string.Join(", ", Composites.ToArray()); } }
public List<px> pxes { get; set; }
public List<ox> oxes { get; set; }
public List<MethodCalculationType> MethodCalculationTypes { get; set; }
public ShippingItem() { }
public void ShippingItemFill(string sku, int quantity)
{
\\this method is just written to avoid parameterless constructor error
}
public static ItemComparison = delegateItem item1, Item item2) { return item1.Area.CompareTo(item2.Area); };
}
public class Request
{
public List<Item> ItemList;
public bool showAllRatesField;
public bool m_Ignore;
public string pTextField;
public decimal TotalField;
}
public class Responce
{
public od [] ods;
}