Tempo fa avevo descritto come è possibile propagare le eccezioni da un servizio WCF verso un applicazione Silverlight3.
Del procedimento, la parte più noiosa era sicuramente quella necessaria al cambio di HTTP Status Code da 500 a 200, la buona notizia è che grazie alla nuovo Client HTTP Stack presente in Silverlight3 tale cambio non è più necessario, basta infatti aggiungere questa riga allo startup dell’applicazione Silverlight:
1: bool registerResult = WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
Per sostituire il browser networking stack usato by default col nuovo Client Networking stack, che è in grado di gestire correttamente lo status code 500 permettendoci così di rimuovere tutto il codice di conversione lato servizio WCF.
Non ho ancora capito se ci possono essere controindicazioni nell’usare il nuovo stack (cookies a parte…) ma sta di fatto che questa soluzione mi piace parecchio…
Tutte le info qui: http://blogs.msdn.com/carlosfigueira/archive/2009/08/15/fault-support-in-silverlight-3.aspx