Je travaille sur un nouveau site Web, écrit en VB.Net en utilisant ASP.NET MVC2, il est nécessaire d'appeler le code VB6 "hérité" pour diverses affaires complexes logique. Le VB6 est un framework composé de plusieurs dll et est très dynamique, nous émulant à peu près comment le framework est utilisé dans notre application cliente, ie l'application s'exécute (beaucoup de configuration d'état), un utilisateur se connecte (encore plus d'état) et puis charge un fichier (encore plus d'état).Mélange VB6 "code legacy" et une application Web
J'ai reçu un «cadre d'interface de service Web» pour que l'application web puisse l'utiliser, ce «framework web» cache le code existant derrière une couche mince s'exécutant sous IIS. L'idée étant que le pool de threads fourni par IIS réduit l'utilisation de la mémoire etc. Je ne peux pas m'empêcher de croire que le gars qui a fourni ceci a manqué le point, puisque chaque instance est si dynamique qu'un pool de threads ne peut pas fonctionner , car une fois qu'un utilisateur se connecte en utilisant un objet particulier du pool, aucun autre objet ne pourra servir ce client (puisqu'il n'aura pas l'état)! En outre, l'ajout d'une interface de service Web et de la mise en place de SOAP associée est une surcharge considérable par rapport à l'appel direct des objets. La seule façon de le faire est une instance d'interface unique utilisée par tous les clients et bloquée par chaque appel jusqu'à sa fin, ou un thread par client avec chaque objet d'interface hérité créé dans un nouveau fil et vivant pour la vie du client.
Aucun d'entre eux n'est idéal, mais avec la quantité de code en question et le programme de migration prolongée vers .net (2+ ans et encore stateful) je ne peux pas penser à une alternative. Nous exécutons l'application client d'origine dans un environnement Citrix pour certains clients. Je pense donc que cela fonctionnerait bien avec le thread par client étant donné un serveur assez costaud et que les coûts du framework lui-même devraient être inférieurs à ceux de l'application client.
Des idées?
Oh mec, je n'envie pas du tout votre tâche. – jwsample
rend juste plus un défi! problème est que beaucoup de gens ici ne comprennent pas la région. – Rob