Is there a way to set a timeout on System.Linq.Xml.XDocument.Load(string uri)? Or should I use the technique described in Implement C# Generic Timeout?
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Generic Generics in Managed C++
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
There is nothing built-in as far as I'm aware. You can fetch the XML content yourself with an instance of WebRequest (which you can set a timeout on) and then pass the XML data directly to the
XDocument.Load
method.Technically, the most "robust" solution would be to implement XmlResolver yourself which uses a
WebRequest
in the GetEntity() implementation to do a timeout. Then create anXmlReader
based on yourXmlResolver
and pass theXmlReader
toXDocument.Open
.The reason I say that would be more "robust" is that if the XML file references other entities on the web server (e.g. a DTD) then you would probably want the timeout to apply for that as well and not just the initial request.