Originalmente:La conexión de socket fue abortado - CommunicationException
- pensé que esto era un problema de referencia circular ........ resulta que no lo es.
- El problema surgió al no haber configurado las configuraciones del servicio.
- Como los valores predeterminados son muy bajos, el envío de muchos datos hará colapsar el servicio.
Escenario:
- Parece que puedo tener referencias circulares en mi servicio WCF, pero utilizando "[DataContract (IsReference = true)]", no hace nada para ayudar a solucionarlo.
- Recibo el error "Se canceló la conexión del socket. Esto podría deberse a un error al procesar su mensaje o un tiempo de espera de recepción excedido por el host remoto o un problema de recursos de red subyacente. : 00 '. "
- ¿Me he perdido algo?
Código:
[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 ; }
}
Pensamientos:
- Me pregunto si es porque tengo una FuturesAsset clase, que tiene una propiedad de tipo BindableDictionary (Esto es una aduana OBJECT), y esa propiedad contiene una lista de FuturesLinesAssets.
- ver más abajo:
Padres:
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;
}
}
Niño:
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;
}
}
¿Cómo se obtiene de 'Error de socket' a una referencia circular? ¿Tiene algún mensaje de error que pueda agregar a la publicación? –
Porque cuando busqué en Google el mensaje de error obtuve muchos resultados hablando de referencias circulares. Además, el error solo ocurre cuando intento enviar ALOT de datos, de lo contrario funciona bien. – Goober