Lavoriamo come un team su un progetto che utilizza attualmente WCF come tra client e server.
Tutte le regole aziendali sono scritte sulle classi di gestori che vengono utilizzate dal servizio, quindi significa che nessuna regola di convalida sarà sul lato client (ad esempio il nome utente duplicato)
finora, in caso di mancata convalida della convalida del nome utente, lanciamo faultException dal servizio e usiamo tali errori. Le eccezioni possono essere utilizzate dal client per verificare perché l'operazione non è riuscita.
Ora il mio manager vuole che non dovremmo usare faultException. lui ha i seguenti punti
- Il lancio di eccezioni per i messaggi di convalida non è un buon approccio.
- Il lancio e la presa di EXCE richiedono più tempo.
- Ogni volta che il client deve controllare il blocco catch faultException prima di qualsiasi altro blocco catch
quindi ci ha dato l'idea di implementare i metodi di servizio con un parametro aggiuntivo che sarà il tipo di errore di classe oggetto di errore. qualsiasi regola di convalida verrà aggiunta a quel tipo di ref e il client verificherà prima tale ref e se qualche client di errore può mostrare un messaggio di convalida.
quindi le mie domande sono
- utilizzare veramente faultException per la convalida delle regole di business è una cattiva pratica?
- quali sono gli svantaggi dell'uso di varibales come parametro nei contratti di servizio?
- Quale sarà l'approccio migliore se un altro normalmente usa nel mondo della programmazione?