Je voudrais savoir comment on peut ajouter un objet .NET C# COM (créé en utilisant la fonction COM Interop de .NET) à un serveur Visual Studio 2008 ATL EXE. Fondamentalement, j'essaye de créer un serveur d'automation hors de processus pour tenir mon objet C# COM pour lui permettre d'agir en tant que serveur de Singleton pour beaucoup de clients. Je pense que tout ce que je dois faire est d'ajouter les entrées appropriées au fichier IDL du serveur ATL EXE? Est-ce que ça sonne bien? Quelqu'un aurait-il aussi une idée de comment instancier mon objet C# COM? Je devine que j'ai besoin de redéfinir son GUID sinon cela ne ferait qu'instancier le C# tout de suite? Merci pour toute aide.HOWTO ajouter agrégat .NET COM Interop à un serveur ATL EXE?
-David
Par exemple: .
import "oaidl.idl";
import "ocidl.idl";
[
uuid(A9F9E81F-D5FE-4718-8078-E8378CFB3D3C),
version(1.0),
helpstring("Libreria dei tipi SSOLoginDLLServer 1.0")
]
library SSOLoginDLLServerLib
{
importlib("stdole2.tlb");
import "SSOLoginDLL.tlb"; <-- Reference included to my C# project which creates the TLB
[
uuid(A8FD5BC5-3B8D-4828-B9CB-6496A7A6D9B9)
]
coclass CSSOLogin
{
[default] interface ISSOLogin;
[default, source] dispinterface ISSOLoginEvents;
};
};
Il semble que vous avez sorte de pêle-mêle trois questions vers le haut. .. (1) comment créer un serveur COM dans ATL; (2) comment faire de ce serveur une instance unique et/ou des instances partagent une ressource singleton; (3) à partir de ce serveur (ou ressource) comment instancier et utiliser un autre objet COM (qui est implémenté dans .NET). Pourriez-vous préciser lequel de ces vous êtes collé? – Eric
Les deux autres que je peux vérifier/tester une fois que j'ai la réponse à votre # 3 :), alors je dirais comment laisser le serveur COM ATL EXE fournir au monde extérieur un autre objet COM déjà écrit. Merci. – David