Первоначально:
- Я думал, что это круговая справочная проблема........ не получается.
- Проблема возникла из-за того, что конфигурации конфигурации вообще не настроены.
- Поскольку значения по умолчанию очень низкие, отправка большого количества данных приведет к сбою службы.
Сценарий:
- Кажется, у меня могут быть круговые ссылки в моей службе WCF, но с помощью "[DataContract (IsReference = true)]" ничего не помогает, чтобы исправить это.
- Я получаю сообщение об ошибке "Соединение сокета было прервано. Это может быть вызвано ошибкой обработки вашего сообщения или превышением тайм-аута приема удаленным хостом или основной проблемой сетевого ресурса. Локальный тайм-аут гнезда был" 00: 01:. 00' "
- Я что-то пропустил?
Код:
[DataContract(IsReference=true)]
public class Message
{
[DataMember]
public string TopicName { get; set; }
[DataMember]
public string EventData { get; set; }
[DataMember]
public SerializableDictionary<string, FuturesLineAsset> FuturesLineDictionary { get; set ; }
}
Мысли:
- Интересно, потому что у меня есть класс FuturesAsset, который имеет свойство типа BindableDictionary (ЭТО ТАМОЖЕННЫЙ ОБЪЕКТ), и это свойство содержит список FuturesLinesAssets.
- См. ниже:
Родитель:
public class FuturesAsset
{
public string AssetName { get; set; }
public BindableDictionary<string, FuturesLineAsset> AssetLines { get; private set; }
public FuturesAsset()
{
AssetLines = new BindableDictionary<string, FuturesLineAsset>();
}
public FuturesAsset(string assetName)
{
AssetLines = new BindableDictionary<string, FuturesLineAsset>();
AssetName = assetName;
}
}
Ребенок:
public class FuturesLineAsset
{
public string ReferenceAsset { get; set; }
public string MID { get; set; }
public double LivePrice { get; set; }
public DateTime UpdateTime { get; set; }
public DateTime LastContributedTime { get; set; }
public double Spread { get; set; }
public double Correlation { get; set; }
public DateTime Maturity { get; set; }
public double ReferenceCurve { get; set; }
public FuturesLineAsset(string mID, string referenceAsset, double livePrice)
{
MID = mID;
ReferenceAsset = referenceAsset;
ReutersLivePrice = livePrice;
}
}