powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Коллекция не приходит на веб сервис
3 сообщений из 3, страница 1 из 1
Коллекция не приходит на веб сервис
    #37463922
anonim1987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть примерно такая иерархия классов:
public class NameValue
{
private string name = String.Empty;
private object propertyValue = null;

public NameValue()
{
}

public NameValue(string name)
{
Name = name;
}

public NameValue(string name, object propertyValue)
{
Name = name;
Value = propertyValue;
}

[XmlAttribute]
public string Name
{
get
{
return name;
}
set
{

this.name = value;

}
}

public object Value
{
get
{
return propertyValue;
}
set
{
propertyValue = value;
}
}


}

public class NameValueCollection : System.Collections.Specialized.NameObjectCollectio​nBase
{
public NameValueCollection ()
{

}

public void Add(NameValue property)
{

if (BaseGet(property.Name) != null)
BaseRemove(property.Name);

BaseAdd(property.Name, property);
}

public void Remove(string name)
{

BaseRemove(name);
}

public void Remove(int index)
{
if ((index >= 0) && (index < this.Count))
BaseRemoveAt(index);
}

public NameValue this [int index]
{
get
{
return (NameValue) BaseGet(index);
}
}

public NameValue this [string name]
{
get
{
return (NameValue)BaseGet(name);
}
}


}
}

public class NameValueSet
{
private string name = string.Empty;
private NameValueCollection properties = new NameValueVCollection();

public NameValueSet()
{
}

public NameValueSet(string name)
{
Name = name;
}

internal NameValueSet(object objValueSet)
{
}


[XmlAttribute]
public string Name
{
get
{
return name;
}
set
{

this.name = value;
}
}

public NameValueCollection Properties
{
get
{
return properties;
}
}
}

public class NameValueSetCollection : System.Collections.Specialized.NameObjectCollectio​nBase
{
public NameValueSetCollection()
{
}


public void Add(NameValueSet nameValueSet)
{
...
}

public void Remove(string name)
{
...
}

public void Remove(int index)
{
...
}

public NameValueSet this [int index]
{
get
{
return (NameValueSet) BaseGet(index);
}
}

public NameValueSet this [string name]
{
get
{
return (NameValueSet) BaseGet(name);
}
}

}
Соответственно еще в одном классе(назовем его классом X) есть проперть, представляющая объект класса NameValueSetCollection. В классе X есть еще много других пропертей разных типов(в том числе коллекций). При отправке на обычный вебсервис(не WCF) все они нормально сериализуются и приходят на сервис. Все, кроме NameValueSetCollection, - данном случае приходит null(В фиддлере виден пустой тэг <NameValueSets xmlns="..." />)

В чем может быть причина?
...
Рейтинг: 0 / 0
Коллекция не приходит на веб сервис
    #37463936
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читайте Collection Types in Data Contracts

в этих ваших дебрях с полным отсутствием признаком сериализации нет никакого желания разбираться.
...
Рейтинг: 0 / 0
Коллекция не приходит на веб сервис
    #37463967
anonim1987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bured,

Вообще-то используется не WCF сервис
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Коллекция не приходит на веб сервис
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]