Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / New Users / July 2005

Tip: Looking for answers? Try searching our database.

COMException when using Interop.SHDocVw

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Jay A. Moritz - 08 Jul 2005 21:09 GMT
I have an application that loads IE and iterates through web pages to
retrieve information from the page then activates specific controls to
retrieve the next page and iterate through that page for it's information,
etc, etc.

I have found many articles from people getting COMException errors when
trying to use Interop.SHDocVw from a windows service, so it's pretty
apparent to me that this is a difficult application to build, but I have yet
to find an article that explains either an alternative way to retrieve
information from a web page or that explains how to get Interop.SHDocVw to
work from an agent. I have tried running the agent under my own user account
that is a member of the machine Administrators group but I still get the
error.  I have included the error below if someone can make more sense out
of it then I can.

Thanks in advance,
Jay A. Moritz
Predictable Outcomes

Timestamp: 7/8/2005 2:58:04 AM
Message: HandlingInstanceID: 8b1ce84e-9041-4b7d-a1b3-0a7be47db2b7
An exception of type 'System.Runtime.InteropServices.COMException' occurred
and was caught.
-------------------------------------------------------------------------------------------
07/08/2005 02:58:04
Type : System.Runtime.InteropServices.COMException, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : The object invoked has disconnected from its clients.
Source : Interop.SHDocVw
Help link :
ErrorCode : -2147417848
TargetSite : Void Navigate2(System.Object ByRef, System.Object ByRef,
System.Object ByRef, System.Object ByRef, System.Object ByRef)
Stack Trace :    at SHDocVw.IWebBrowser2.Navigate2(Object& URL, Object&
Flags, Object& TargetFrameName, Object& PostData, Object& Headers)
  at
pOrchestrator.DataLinks.HTMLParser.GetHTMLFromBrowser(InternetExplorer& ie,
Collection SiteRules, SiteURL SiteURL, Boolean IsFirstPage, Int32
MaxNavigationDuration)

Additional Info:

MachineName : HP-BIZ2
TimeStamp : 7/8/2005 6:58:04 AM
FullName : Microsoft.Practices.EnterpriseLibrary.ExceptionHandling,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppDomainName : porchestratoragent.exe
ThreadIdentity :
WindowsIdentity : NT AUTHORITY\LOCAL SERVICE

Category: General
Priority: 0
EventId: 100
Severity: Error
Title:pSystem.Exception
Machine: HP-BIZ2
Application Domain: porchestratoragent.exe
Process Id: 2788
Process Name: c:\program files\porchestrator agent\porchestratoragent.exe
Win32 Thread Id: 1640
Thread Name:
Extended Properties:
Willy Denoyette [MVP] - 08 Jul 2005 21:35 GMT
ShDocVw is not a server type component but a client type ActiveX component,
that means it should be properly hosted inside a visual control like a Form.
Services aren't able to host ActiveX controls.

Willy.

>I have an application that loads IE and iterates through web pages to
>retrieve information from the page then activates specific controls to
[quoted text clipped - 58 lines]
> Thread Name:
> Extended Properties:
Jay A. Moritz - 08 Jul 2005 22:58 GMT
Thank you Willy, but it does lead to a second question:

   How do I get information out of a web page when I need to do it from a
windows service?  Do you know of an object/class I can use?

Thanks in advance,
Jay A. Moritz

> ShDocVw is not a server type component but a client type ActiveX
> component, that means it should be properly hosted inside a visual control
[quoted text clipped - 64 lines]
>> Thread Name:
>> Extended Properties:
Cor Ligthert [MVP] - 09 Jul 2005 08:22 GMT
Jay,

You can use by instance the HTTPWebrequest/response classes

\\\
Module main
   Public Sub main()
       Dim myReg As Net.HttpWebRequest = _
DirectCast(Net.WebRequest.Create("http://www.google.com"), _
Net.HttpWebRequest)
       Dim myResp As Net.HttpWebResponse = _
       DirectCast(myReg.GetResponse(), Net.HttpWebResponse)
       Dim myStream As IO.Stream = myResp.GetResponseStream()
       Dim myreader As New IO.StreamReader(myStream)
       Dim mystring As String = myreader.ReadToEnd()
       myResp.Close()
   End Sub
End Module
///

I hope this helps a little bit?

Cor

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.