Creare un Object COM in Visual Studio 2003 .NET

mercoledì 07 aprile 2010 - 09.26

simone.vetri Profilo | Newbie

Ciao,
il mio problema è il seguente:
mi trovo di fronte ad una struttura già esistente composta da 2 software che dialogano tramite un servizio di windows basato su Object COM. Il mio compito è quello di sostituire uno dei 2 software (già fatto) e replicare ex novo il servizio di windows per essere padrone della completa situazione.
Il problema è che io sono inesperto dell'argomento COM, quindi chiedevo qualche dritta su come impostare un progetto, quali caratteristiche deve avere il codice e come rendere disponibili delle chiamate a delle funzioni dall'esterno (dll??) ecc..In conclusione una struttura generica su come realizzare il prodotto finale.
Come linguaggio preferisco il Visual C++, però posso anche adattarmi al C# o il Visual Basic.

Grazie in anticipo!!!

Ciao Simone

tonyexpo Profilo | Senior Member

Ciao


la possibilità di utilizzare oggetti COM scritti in .NET da eseguire come windows service è considerata parte della programmazione distribuita dal framework 2.0 in poi.
dovendo realizzare qualcosa da zero, ti consiglio di valutare correttamente i requisiti per poi scegliere un servizio windows se hai necessità di qualcosa che giri su un processo isolato e manutenibile senza iterazione utente esplicita. differente è il caso di aver bisogno un iterazione con un utente reale o applicativo, in quel caso ti consiglierei di realizzare un servizio wcf da ospitare in IIS o WAS.

in ogni caso, hai i template in visual studio già pronti.... ovviamente nella versne 2003 non puoi creare WCF, ma puoi creare dei web service che raggiungono gli stessi obiettivi.

per chiarezza aggiungo che un Enterprise Service (il COM) che viene configurato in esecuzione come servizio windows non è un servizio windows, è un componente com che puo essere attivato da un azione utente e che rimane in esecuzione su un processo a lui associato, e come ogni oggetto com ha alcune limitazioni lui proprie che creando un vero servizio windows non avresti.


spero di aver fatto chiarezza, altrimenti chiedi pure
ciao

Antonio Esposito
MCTS, MCP

http://blogs.dotnethell.it/espositos

simone.vetri Profilo | Newbie

Ciao,
prima di tutto grazie delle informazioni, sono state molto utili a chiarirmi le idee. Oggi sono arrivato al punto in cui creo una .dll che vado a richiamare da un'altra applicazione come oggetto COM: il problema rimane che io non vorrei avere una .dll, ma un servizio di Windows in modo tale che il cambio dell'object COM sia del tutto trasparente all'applicazione con cui devo comunicare. Il punto è che non so se partire da un progetto "Windows Service", che in qualche modo venga visto come object COM oppure partire da un progetto per costruire una libreria e che in qualche modo "diventi" un servizio. Spero tu possa essermi ancora di aiuto, se hai bisogno di altri dettagli chiedi pure.
Grazie!

tonyexpo Profilo | Senior Member

Ciao

ho capito il tuo problema,

se il tuo scopo è il disaccoppiamento, allora dovresti utilizzare delle interfacce, così da nascondere il vero oggetto che c'è dietro


in .net gli oggetti com sono da utilizzarsi esclusivamente per scopi di compatibilità verso un sistema legacy, o alternativamente in scenari distribuiti in cui sono necessari degli eventi di rete

le interfacce le puoi usare in una normale dll
mentre un oggetto com come già ti accennavo, è configurabile in esecuzione come un servizio windows (ma non significa che lo sia)


spero di essere stato chiaro
altrimenti schiedi pure
Antonio Esposito
MCT, MCPD, MCTS, MCP

http://blogs.dotnethell.it/espositos
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5