J'ai un composant COM hérité et ma mission consiste à écrire un service Web qui encapsule le COM et active les appels non bloquants simultanés. Tout d'abord, comme l'objet COM lui-même est sans état, j'ai décidé d'utiliser l'attribut [ThreadStatic] pour que chaque thread ait sa propre instance de l'objet COM afin d'empêcher l'utilisation de l'instruction lock {} et d'activer le vrai concurrent traitement, mais il semble que tous les appels encore traités synchrone.Utilisation du composant COM hérité dans l'environnement multithread C#
J'ai écrit un code de test qui exécute une méthode du composant COM synchrone avec for {} loop, puis ajouté un deuxième thread qui fait exactement la même chose mais à une autre instance de l'objet COM, et je n'ai vu aucun changement. les appels consomment toujours Y timespan, peu importe le nombre de threads. C'est comme s'il y avait un verrou statique ou quelque chose ...
Malgré cela, des processus séparés peuvent traiter chaque appel simultanément pour de vrai. Qu'est-ce qui empêche les fils séparés de se comporter de la même manière?
Que puis-je faire pour activer les vrais appels simultanés au composant COM?