2012-08-27 19 views
6

Sto facendo un semplice servizio dati WCF su LINQ al contesto dati SQL. Il mio file svc.cs è molto semplice. Tuttavia, quando lo eseguo da VS2012, ricevo un "Errore di richiesta" generico senza ulteriori informazioni. Come posso risolverlo/risolverlo?Servizio dati WCF - Errore richiesta

using System; 
using System.Collections.Generic; 
using System.Data.Services; 
using System.Data.Services.Common; 
using System.Linq; 
using System.ServiceModel.Web; 
using System.Web; 
using MyApp.Business.Pmw.DataAccess; 

namespace MyApp.DataService 
{ 
    public class SystemData : DataService<PmwModelDataContext> 
    { 
     // This method is called only once to initialize service-wide policies. 
     public static void InitializeService(DataServiceConfiguration config) 
     { 
      config.SetEntitySetAccessRule("SysParam", EntitySetRights.ReadMultiple);    
      // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc. 
      // Examples: 
      // config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.AllRead); 
      // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All); 
      config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3; 
     } 
    } 
} 

risposta

19

Se si imposta l'attributo [ServiceBehavior(IncludeExceptionDetailInFaults=true)] sul servizio e impostare config.UseVerboseErrors a true, si otterrà un messaggio di errore molto più chiara sul lato client. Si prega di essere sicuri di rimuovere queste impostazioni prima di andare in produzione in quanto potrebbero causare divulgazione involontaria delle informazioni:

[ServiceBehavior(IncludeExceptionDetailInFaults = true)] 
public class FileService : DataService<FileContext> 
{ 
    public static void InitializeService(DataServiceConfiguration config) 
    { 
     config.UseVerboseErrors = true; 
     config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); 
     config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3; 
    } 
} 
Problemi correlati