Używam programu Visual Studio 2010 i mam odniesienie do usługi do usługi sieciowej, którą utworzyliśmy. Nasze metody wrócić obiektów, które zawierają ogólne właściwości Wypis:Odwołanie do usługi korzysta z tablic zamiast z listy <Type>, nawet jeśli ustawienia mówią o użyciu listy
public class ExampleResponse
{
private System.Collections.Generic.List<int> intValues;
[WCF::MessageBodyMember(Name = "IntValues")]
public System.Collections.Generic.List<int> IntValues
{
get { return intValues; }
set { intValues= value; }
}
}
Na stronie klienta, to tworzy plik References.cs z int [] zamiast listy:
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="SomeNamespace", Order=0)]
[System.Xml.Serialization.XmlArrayAttribute(IsNullable=true)]
[System.Xml.Serialization.XmlArrayItemAttribute(Namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays", IsNullable=false)]
public int[] IntValues;
od ustawień referencyjnych usług Typ kolekcji jest ustawiony do używania Listy, a nie Tablic. Jednak wciąż to robi.
Wszelkie informacje na temat sposobu rozwiązania tego problemu byłyby niezwykle pomocne, wydaje się, że nie ma to sensu.
Odwołanie zostało utworzone przez kliknięcie prawym przyciskiem myszy na projekcie i wybranie "Dodaj referencję usługi ...". Gdy pojawi się okno dialogowe w celu znalezienia usługi internetowej, nie wybieram opcji Odwołania do sieci u dołu. Sprawdzę inne sugestie, które miałeś, ale to działało do niedawna - pochodzi z usługi internetowej, którą "odziedziczyliśmy". – Grandpappy
Dobra, rozumiem. Twój komentarz wysłał mnie na ścieżkę, o której wcześniej nie myślałem. Mieliśmy wyliczenie, które nie zawierało atrybutu DataContract, więc VS2010 tworzyło WebReference bez powiadamiania mnie. Rozumiem również, co mówisz o obsłudze naszych własnych umów z wiadomościami, jest brzydka. – Grandpappy
Cieszę się, że mogę pomóc. Happy Coding – CkH