我在向mshtml.HTMLDocumentClass
mshtml.IMarkupServices
时遇到问题
IHTMLDocument2 doc = new HTMLDocumentClass();
doc.write(new object[] { item.HTMLBody });
IHTMLTxtRange range = ((IHTMLBodyElement)doc.body).createTextRange();
IHTMLTxtRange baseRange = ((IHTMLBodyElement)doc.body).createTextRange();
var markupServices = (IMarkupServices)doc; // <--- exception is thrown here
相同的代码在一种情况下有效但在另一种情况下抛出异常。 调用是相同的,但在不同的代码位置不会以相同的方式工作。
答案 0 :(得分:1)
问题在于ApartmentState
:
thread.SetApartmentState(Thread.CurrentThread.GetApartmentState());