System.Linq.Xml.XDocument.Load (string uri) üzerinde bir zaman aşımı ayarlamak için bir yol var mı? Veya Implement C# Generic Timeout'da açıklanan tekniği kullanmalı mıyım?XDocument.Load (dizge uri) üzerinde zaman aşımı nasıl ayarlanır?
6
A
cevap
7
Bildiğim kadarıyla yerleşik bir şey yok. XML içeriğini kendiniz WebRequest ( bir zaman aşımı belirleyebilir) örneğiyle getirebilir ve ardından XML verilerini doğrudan XDocument.Load
yöntemine iletebilirsiniz.
Teknik olarak, en "sağlam" çözüm, bir zaman aşımı yapmak için GetEntity() uygulamasında WebRequest
kullanan XmlResolver uygulamasını uygulamak olacaktır. Ardından, XmlResolver
tabanlı bir XmlReader
oluşturun ve XmlReader
'u XDocument.Open
'a geçirin.
Bunu daha "sağlam" olacağını söylüyorlar nedeni XML dosyası web sunucusu (örneğin bir DTD) üzerinde diğer varlıkları başvuruyorsa sonra muhtemelen zaman aşımı yanı değil bunun için uygulamanız gerekir ki sadece ilk istek.