#39 - Visualizzare messaggi di errore estesi in ADO.NET Data Services
di Alessio Leoncini, in Silverlight 2.0, 5 marzo 2009
Durante lo sviluppo dei servizi di accesso ai dati con ADO.NET Data Services possono verificarsi molti casi in cui il codice vada in errore e siano sollevate eccezioni. Principalmente per motivi di sicurezza il servizio non distribuisce al client dettagliati messaggi di errore ma si limita a restituire il seguente XML:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <code></code> <message xml:lang="en-US">An error occurred while processing this request.</message> </error>
public class MyDataService : DataService<MyDataProvider> { public static void InitializeService(IDataServiceConfiguration config) { config.UseVerboseErrors = true; } }
Qualora sia il servizio stesso ad avere problemi di inizializzazione, nei casi ad esempio di limitazioni per policy di sicurezza, per avere un messaggio di errore esteso è necessario agire sul file di configurazione attivando la specifica opzione attraverso un behavior:
<system.serviceModel> <services> <service name="WebApplication1.MyDataService" behaviorConfiguration="IncludeExceptionBh"></service> </services> <behaviors> <serviceBehaviors> <behavior name="IncludeExceptionBh"> <serviceDebug includeExceptionDetailInFaults="True"/> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> </system.serviceModel>
[System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)] public class MyDataService : DataService<MyDataProvider> //..
Attivando i messaggi di errore estesi sarà molto più semplice effettuare il debug di quei meri errori che possono verificarsi durante lo sviluppo.
Approfondimenti
-
Disponibile il download di Silverlight 3.0 beta1!
-
#139 - Invocare servizi in asincrono con WCF
-
#977 - ASP.NET ed Entity Framework: modificare i dati con EntityDataSource
-
#146 - Simulare la clausola SQL Exists con il metodo Any in LINQ to Entities
-
#149 - Personalizzare le istanze di un servizio WCF
-
#115 - Creare file ZIP con System.IO.Packaging
-
#adonetdataservices v1.5 CTP 2 con supporto al #databinding per #wpf e #silverlight su http://u.aspitalia.com/ac
-
#121 - Utilizzare il KeyBinding di WPF con il pattern M-V-VM
-
#113 - Implementare il pattern Dispose del .NET Framework
-
Disabilitare tutti i web control in una pagina?
-
#42 - Rendere ridimensionabili le righe e le colonne del controllo Grid di Silverlight 2.0: GridSplitter
-
#106 - Scoprire quali oggetti verranno persistiti sul database con Entity Framework

















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.