WebProtocolException не отформатирован в WebScriptServiceHostFactory - PullRequest
0 голосов
/ 12 июля 2011

Я создаю WCF-службу pox и json rest, используя WebScriptServiceHostFactory в Framework 3.5, и я отправляю код состояния клиенту, выдав исключение WebProtocolException. При этом исключение не очень хорошо отформатировано и выглядит плохо в браузере, как показано ниже .....

Есть ли способ, которым я форматирую исключение в браузере или подавляю исключение в службе и отправляю только код состояния клиенту.

{ "ExceptionDetail": { "HelpLink": нулевой, "InnerException": { "HelpLink": нулевой, "InnerException": null, «Message»: «Возникло исключение типа« System.Exception ».», «StackTrace»: null, "Тип": "System.Exception"}, "Сообщение": "SomeDescription", "StackTrace":» в Platform.Licensing.Services.AuthorizationAttribute.BeforeCall (String operationName, Входные данные объекта [] в D: \ Projects \ trunk-LicensingAPI \ Code \ Platform.Licensing.Services \ AuthorizationAttribute.cs: строка 72 \ u000d \ u000a по адресу System.ServiceModel.Dispatcher.DispatchOperationRuntime.InspectInputsCore (MessageRpc & rpc) \ u000d \ u000a по адресу System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc & rpc) хранилище сообщений \ u000d \ u000a в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4 (MessageRpc & rpc) \ u000d \ u000a
в System.ServiceModel.Dispatcher.MessageRpc.Process (Boolean isOperationContextSet) ", "Тип": "Microsoft.ServiceModel.Web.WebProtocolException"}, "ExceptionType": "Microsoft.ServiceModel.Web.WebProtocolException", "Сообщение": "SomeDescription", "StackTrace": "at Platform.Licensing.Services.AuthorizationAttribute.BeforeCall (входные данные String operationName, Object []) в D: \ Projects \ trunk-LicensingAPI \ Code \\ AuthorizationAttribute.cs: строка 72 \ u000d \ u000a
в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InspectInputsCore (MessageRpc & rpc) \ u000d \ u000a в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc & rpc) \ u000d \ u000a
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5 (MessageRpc & rpc) \ u000d \ u000a в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4 (MessageRpc & rpc) \ u000d \ u000a
at System.ServiceModel.Dispatcher.MessageRpc.Process (Boolean isOperationContextSet) "}

1 Ответ

0 голосов
/ 22 сентября 2011

Это исключение вызвано несколькими причинами.Я использовал Factory вместе с конфигурацией сервиса, которая была неправильной.Также мне пришлось сделать includeExceptionDetailInFaults = false и использовать пользовательское поведение и IErrorHandler для обработки WebProtocolException для отдыха.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...