2012-08-27 9 views
6

LINQ to SQLデータコンテキストの上に単純なWCFデータサービスを実行しています。 私のsvc.csファイルはとてもシンプルです。しかし、私はVS2012から実行すると、私は一般的な "要求エラー"を取得します。トラブルシューティング/解決方法を教えてください。あなたがサービスに[ServiceBehavior(IncludeExceptionDetailInFaults=true)]属性を設定し、trueconfig.UseVerboseErrorsを設定した場合WCFデータサービス - 要求エラー

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)] 
public class FileService : DataService<FileContext> 
{ 
    public static void InitializeService(DataServiceConfiguration config) 
    { 
     config.UseVerboseErrors = true; 
     config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); 
     config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3; 
    } 
} 
関連する問題