CsQuery icon indicating copy to clipboard operation
CsQuery copied to clipboard

ArgumentOutOfRangeException when calling "Render()" method

Open Israel4Ever opened this issue 8 years ago • 1 comments

Hi, I'm getting this Exception while calling the "Render()" method:

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Stack trace:

   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at CsQuery.HtmlParser.HtmlData.TokenName(UInt16 tokenId)
   at CsQuery.Implementation.DomElement.get_ClassName()
   at CsQuery.Implementation.DomElement.d__38.MoveNext()
   at CsQuery.Output.FormatDefault.RenderElementInternal(IDomObject element, TextWriter writer, Boolean includeChildren)
   at CsQuery.Output.FormatDefault.RenderStack(TextWriter writer)
   at CsQuery.Output.FormatDefault.RenderChildren(IDomObject element, TextWriter writer)
   at CsQuery.Output.FormatDefault.Render(IDomObject node)
   at CsQuery.Implementation.DomObject.Render(IOutputFormatter formatter)
   at CsQuery.Implementation.DomObject.Render()
   at CsQuery.CQ.Render()
   at **** in ***:line 61

This is my code lines:

dom["style, script, and some more..."].Remove();
dom.Render(); // 

It's seems impossible to repro this issue. Tried few times with same URL. Even when it's happen, I'm change the "next code line" (next instruction pointer) to the "Render()" code line agian - and now it's working.

My code is running with Multi-Threading. I'm pretty sure that this making problems...

How I can fix this?

Thank you.

Israel4Ever avatar Oct 28 '15 11:10 Israel4Ever

I got that error as well. Here is my stack trace if it helps.

Unhandled exception. System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at CsQuery.HtmlParser.HtmlData.TokenName(UInt16 tokenId)
   at CsQuery.Implementation.DomElement.get_ClassName()
   at CsQuery.Implementation.DomElement.<AttributesCollection>d__38.MoveNext()
   at CsQuery.Output.FormatDefault.RenderElementInternal(IDomObject element, TextWriter writer, Boolean includeChildren)
   at CsQuery.Output.FormatDefault.RenderStack(TextWriter writer)
   at CsQuery.Output.FormatDefault.Render(IDomObject node)
   at "myInternalCall CQ.Render()"

cn-ml avatar Apr 25 '20 12:04 cn-ml