Come strutturare un'applicazione che combina WCF e WPF

0

Sto imparando a utilizzare WCF (Windows Communication Foundation) per consentire a un'applicazione client / server desktop di comunicare. L'interfaccia utente dell'applicazione verrà implementata utilizzando WPF e probabilmente utilizzeremo SQL Server per il nostro database.

Ciò di cui sto combattendo, è capire come strutturare una tale applicazione.

Da quello che ho letto, ci sono tre componenti di un'applicazione WCF (che negli esempi che ho visto sono esistiti come progetti separati):

  • Un servizio WCF
  • Un host del servizio WCF
  • Un client di servizio WCF

Quindi la mia domanda è: questi progetti dovrebbero solo implementare le funzionalità di invio / ricezione di dati dal client / server? Avrebbe più senso in questo modo?

Avrebbe senso creare un progetto separato WPF (Windows Presentation Foundation) per implementare l'interfaccia utente per l'applicazione?

E quindi, quando devo inviare / ricevere dati dal client / server, posso semplicemente richiamare le operazioni fornite nei progetti WCF che ho creato?

Per chi ha già creato applicazioni simili in precedenza, forse potresti spiegare cosa ti ha funzionato meglio in termini di strutturazione della tua applicazione?

Ad esempio, se creo una pagina di registrazione utente. Quando l'utente fa clic sul pulsante "Registra", l'applicazione client dovrà inviare i dati al server. In questo caso, potrei semplicemente invocare i metodi forniti nei progetti WCF per inviare i dati?

Inoltre, quali strutture dati hanno funzionato al meglio per l'invio / la ricezione di dati? Il mio pensiero iniziale è l'invio / ricezione di XML contenente i dati. È un'opzione facile da implementare?

Comprendo che le risposte a questa domanda potrebbero essere una questione di opinione, a meno che non ci siano specifiche best practice di cui non sono a conoscenza.

Grazie

    
posta Ciaran Gallagher 21.10.2012 - 22:20
fonte

1 risposta

3

La tua soluzione server dovrebbe contenere:

  • Il livello del database.
  • Il server WCF.

La soluzione client dovrebbe contenere:

  • L'interfaccia utente di WPF.
  • Il client WCF.
  • Tutto il resto necessario.

Ciascuno di questi sarebbe un progetto separato all'interno della singola soluzione. L'interfaccia utente WPF sarebbe l'applicazione principale con tutti gli altri progetti che definiscono gli assembly. Il WPF chiamerebbe quindi il client WCF per richiedere dati dal server e inviare i dati al server. Potrebbe anche ascoltare gli eventi generati dal client WCF.

Tuttavia, questa è solo una struttura teorica. Potresti scoprire che devi modificare le cose quando arrivi a implementarle.

    
risposta data 21.10.2012 - 22:36
fonte

Leggi altre domande sui tag