- 我認爲這是一個循環引用問題........原來事實並非如此。
- 問題在於根本沒有配置服務配置。
- 由於默認值非常低,發送大量數據將導致服務崩潰。
場景:
- 看來我可以在我的WCF服務循環引用,但使用 「[DataContract(IsReference =真)」,無助於幫助解決問題。
- 我收到錯誤「套接字連接被中止,這可能是由於處理您的消息時發生錯誤或遠程主機超出接收超時或基礎網絡資源問題所致,本地套接字超時爲'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(這是自定義OBJECT),並且該財產持有FuturesLines資產列表。
- 見下文:
家長:
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;
}
}
你如何從'套接字錯誤'獲得循環引用?你有沒有可以添加到帖子的錯誤信息? – 2010-08-09 16:15:43
因爲當我搜索錯誤消息時,我得到了許多關於循環引用的結果。此外,錯誤只發生在我嘗試發送ALOT數據時,否則它工作正常。 – Goober 2010-08-09 16:17:27