我需要從web服務獲取大量xml數據。C# - 爬行XML RESTful web服務
我送使用任務異步請求,這樣的片段
LimitedConcurrencyLevelTaskScheduler lcts = new LimitedConcurrencyLevelTaskScheduler(10);
TaskFactory factory = new TaskFactory(lcts);
List<Task> tasks = new List<Task>();
...
tasks.Add(factory.StartNew(() => GetRecords(country, names)));
...
Task.WaitAll(tasks.ToArray());
的Web服務有很多工作在後臺等了大量請求,在超時去還是我收到一般錯誤從WebService做。
我想解決這個問題首先調整LimitedConcurrencyLevelTaskScheduler的數量。
某些XML的大小爲2Mb,所以我使用XmlReader讀取流,並使用XmlNode node = new XmlDocument().ReadNode(reader);
來獲取所需的數據,但有時程序崩潰或死循環(我認爲原因是不正確的xml響應web服務)。
我認爲直接從整個響應中創建XDoc會更糟糕。
你能給我一個可能的可靠解決方案嗎?
感謝提前:)
它是asmx還是WCF Web服務? –
REST風格的遠程web服務,不知道技術:) – JoinZ
那麼你想如何提高它的性能?因爲如果您從Web服務接收到超時錯誤,那麼客戶端可以做的事情就不多了。除了讓你的等待時間更長。 –