WebBrowser en MTA (Multi Threaded apartment) - C#/.NET managed - Programmation
MarshPosté le 13-12-2006 à 10:50:25
Bonjour à tous,
voici mon problème: je manipule dans mon appli des COM objets associés aux noeuds de mon TreeView, sur lesquels j'autorise certaines opérations. Pour des besoins fonctionnels, je dois intégrer à mes form un webbrowser. Le problème est le suivant => tous les Threads que je lance sont déclarés en MTA afin qu'ils puissent partager les données qu'ils contiennent et maintenir une stabilité dans toutes les manipulations (si j'ai bien compris l'interrêt de cet attribut. En tout cas ceci me permet de ne plus avoir une erreur du genre :
ContextSwitchDeadlockException => CLR has been separated from its underlying COM context .......
Qui se produisait aléatoirement et en mode debug dans mon appli. Bon en gros ma requète c'est: est-ce que quelqu'un sait comment initialiser un webbrowser dans un Thread en MTA ? Ou bien est-ce possible qu'un Thread en STA puisse partager ses COM objets par le biais d'une méthode miracle ? Merci à tous pour vos cellules grises (je commence à plus trop en avoir avec ce bug à la con!!! )
Marsh Posté le 13-12-2006 à 10:50:25
Bonjour à tous,
voici mon problème: je manipule dans mon appli des COM objets associés aux noeuds de mon TreeView, sur lesquels j'autorise certaines opérations. Pour des besoins fonctionnels, je dois intégrer à mes form un webbrowser. Le problème est le suivant => tous les Threads que je lance sont déclarés en MTA afin qu'ils puissent partager les données qu'ils contiennent et maintenir une stabilité dans toutes les manipulations (si j'ai bien compris l'interrêt de cet attribut. En tout cas ceci me permet de ne plus avoir une erreur du genre :
ContextSwitchDeadlockException => CLR has been separated from its underlying COM context .......
Qui se produisait aléatoirement et en mode debug dans mon appli. Bon en gros ma requète c'est:
est-ce que quelqu'un sait comment initialiser un webbrowser dans un Thread en MTA ? Ou bien est-ce possible qu'un Thread en STA puisse partager ses COM objets par le biais d'une méthode miracle ?
Merci à tous pour vos cellules grises (je commence à plus trop en avoir avec ce bug à la con!!! )
PS: je code en VB.NET
---------------
Les neurones c'est neurologique.