2009-12-07 16 views
0

Je dispose actuellement d'un service WCF qui utilise une DLL COM pour son service. L'objet COM est chargé une seule fois et enregistré via un singleton. Le problème est que la première exécution prend environ 1 minute pour charger l'objet COM. Le service WCF est hébergé via un service Windows. Je me demande comment puis-je charger l'objet COM singleton via le démarrage du service Windows. Lorsque j'essaie d'ajouter la charge de Singleton dans le démarrage OnStart du service Windows, elle échoue systématiquement. Je voudrais demander si c'est la bonne façon d'ajouter une routine de démarrage pour l'instance objectConn. J'ai essayé de placer le chargement singleton dans le construtor de MyService mais il est seulement appelé avec le premier appel à l'opération de service de Web/méthode que j'appelle qui rend le premier appel de service gênant.Code de démarrage pour le chargement de l'objet COM pour le service WCF

Je lis à propos de DependencyInjection mais je pense que le comportement ajouté n'est pas applicable puisque je veux juste charger la source de l'objet COM une fois.

Répondre

1

Vous pouvez probablement le faire - mais je vous recommande de le faire avant la

host.Open() 

appel. Cet appel fait tourner toute l'exécution de WCF et tout, et je préférerais faire toutes les tâches d'initialisation avant, si possible.

Marc