Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
.net exe winform application client/server
domenica 23 agosto 2009 - 12.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
arguros
Profilo
| Newbie
13
messaggi | Data Invio:
dom 23 ago 2009 - 12:38
Ciao,
Ai tempi di COM potevo realizzare due EXE ActiveX, registarli e farli comunicare tra loro tramite COM.
Se ho due .NET exe winform application. Come posso farli comunicare tra di loro?
Mi spiego meglio. Supponiamo che ho sviluppato MyCalculator.exe e tale assembly espone delle classi pubbliche.
Se faccio un altra application chiamata Mortgage.exe, come faccio a fargli prendere una referenza a MyCalculator.exe, aprire il programma e utilizzare le sue classi per fare alcuni conti?
Grazie
Pierpaolo
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
dom 23 ago 2009 - 15:27
Ciao,
a mio avviso il modo migliore per usare "funzioni comuni" (classi e metodi) ai vari applicativi è sicuramente portare questi oggetti in una o più libreria di classi, e quindi referenziarle in entrambi i progetti.
Tecnicamente ti basta aggiungere alla soluzione dove hai il progetto "calculator" un nuovo progetto di libreria di classi, e mettere i metodi (decidendo i vari parametri necessari, i dati di ritorno etc...) dentro li.
Poi nella calculator, come nell'altra applicazione fai riferimento alla libreria che incapsula queste funzionalità (aggiungi magari lo stesso progetto alle 2 soluzioni, e fai riferimento a quello invece di farlo sul file dll diretto), al momento della compilazione sarà visual studio a mettere la libreria nella directory di compilazione delle 2 applicazioni, ed ovviamente avendo fatto riferimento allo stesso progetto, le modifiche che fai a quei metodi te le trovi subito disponibili.
Questo secondo me è il metodo più corretto di condividere funzionalità, e soprattutto con .net non hai più problemi di registrare gli OCX, ma ti basta appunto averle nella stessa directory dell'applicazione che la utilizza (che lo fa vs per te ma puoi pensare di farlo anche a mano).
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
arguros
Profilo
| Newbie
13
messaggi | Data Invio:
mar 25 ago 2009 - 09:35
Ciao,
Grazie per il consiglio.
Ti avevo chiesto di come si facesse a referenziare un win .exe, piuttosto che una dll perche' avevo in mente un caso piu' complesso.
La mia applicazione .exe ha un cache con in memoria oggetti molto pesanti che richiedono parecchie risorse e tempo per essere costruiti. (ecco perche le salvo in una cache).
mi chiedevo quindi se ci fosse un modo da un altro programmi C# di connettersi a questa applicazione per ottenere gli oggetti che ha gia in memoria senza ricalcolarseli da capo con i metodi disponibili nelle librerie condivise.
Pierpaolo
PS. Se leggi il post su factory method che ho appena spedito, ti fai anche un idea di come funziona parte delll'applicazione. Gli oggetti molto pesanti a cui mi riferisco sono i portafogli.
Torna su
Stanze Forum
Elenco Threads
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 !