A
Alan Pretre
I have a .NET windows service that automates IE through interop to shdocvw.
Everything works great as long as I only try to do one task at a time.
However, this is a multithreaded service where each thread wants to go to
different websites to do some work, and I find that my multiple instances of
shdocvw.InternetExplorer step over each other. So I conclude that there
really is only one instance of IE under the hood that they are
unintentionally sharing.
If I write a test application in WinForms and open multiple copies of it,
the IE instances are kept separated as I would expect. Unfortunately, I
need this same kind of isolation in a windows service. I have tried
creating new appdomains for each instance and instantiating with
CreateComInstanceFrom(), but that doesn't help.
Basically, what I need is multiprocess-like isolation within a single
process and separate appdomains are not cutting it. Any ideas?
TIA.
-- Alan
Everything works great as long as I only try to do one task at a time.
However, this is a multithreaded service where each thread wants to go to
different websites to do some work, and I find that my multiple instances of
shdocvw.InternetExplorer step over each other. So I conclude that there
really is only one instance of IE under the hood that they are
unintentionally sharing.
If I write a test application in WinForms and open multiple copies of it,
the IE instances are kept separated as I would expect. Unfortunately, I
need this same kind of isolation in a windows service. I have tried
creating new appdomains for each instance and instantiating with
CreateComInstanceFrom(), but that doesn't help.
Basically, what I need is multiprocess-like isolation within a single
process and separate appdomains are not cutting it. Any ideas?
TIA.
-- Alan