2012-08-27 17 views
6

मैं LINQ से SQL डेटा संदर्भ के शीर्ष पर एक साधारण डब्ल्यूसीएफ डेटा सेवा कर रहा हूं। मेरी svc.cs फ़ाइल बहुत सरल है। हालांकि, जब मैं इसे VS2012 से चलाता हूं, तो मुझे कोई और जानकारी के साथ सामान्य "अनुरोध त्रुटि" मिलती है। मैं इसे समस्या निवारण/हल कैसे कर सकता हूं?डब्ल्यूसीएफ डाटा सेवा - अनुरोध त्रुटि

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; 
     } 
    } 
} 

उत्तर

19

आप सेवा पर [ServiceBehavior(IncludeExceptionDetailInFaults=true)] विशेषता सेट और true को config.UseVerboseErrors सेट करते हैं, आप ग्राहक के पक्ष में एक बहुत स्पष्ट त्रुटि संदेश मिल जाएगा। कृपया उत्पादन में जाने से पहले इन सेटिंग्स को हटाना सुनिश्चित करें क्योंकि परिणामस्वरूप अनजाने सूचना प्रकटीकरण हो सकता है:

[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; 
    } 
} 
संबंधित मुद्दे