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