そんなことってありますよね?デフォルトだと、エラーが出たからサーバーのログ見てねみたいな素っ気ないエラーしか出ないので、何の役にも立ちません。もちろん、本番では、この動作が理想的です。サービスを攻撃してくる人にスタックトレース見せたりするなんてもってのほかです!
ですが、開発時は話は別です。やり方は簡単です。
#if DEBUG // 例外の詳細を含める [ServiceBehavior(IncludeExceptionDetailInFaults = true)] #endif public class MyDataService : DataService<EduContext>, IServiceProvider, IDataServiceActionProvider, IDataServiceUpdateProvider2 { public static void InitializeService(DataServiceConfiguration config) { #if DEBUG // これもポイント config.UseVerboseErrors = true; #endif config.SetEntitySetAccessRule("*", EntitySetRights.All); config.SetServiceActionAccessRule("*", ServiceActionRights.Invoke); config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3; } }
DataServiceConfigurationのUseVerboseErrorsをtrueにするのとServiceBehaviorAttributeのIncludeExceptionDetailInFaultsをtrueにするだけです。デバッグの時しかいらないので、#if DEBUGあたりで括っておくといいと思います。