Пользовательские исключения с кодами ошибок в .NET Web Services to Client - PullRequest
0 голосов
/ 10 сентября 2010

Я пытаюсь выбросить пользовательское исключение из веб-службы и перехватить его на стороне клиента. Я использую JQuery и получаю JSON-сериализованные исключения, так что это хорошее начало. Однако проблемы:

  • Трассировка стека отправляется клиенту, который мне не нужен.
  • Мне нужно добавить код ошибки в дополнение к сообщению об исключении.

Я пытался создать пользовательское исключение, но при сериализации он не содержит код ошибки.

1 Ответ

1 голос
/ 29 января 2011

Чтобы отправить ваши собственные данные обратно с SoapException, вам нужно установить свойство Details объекта SoapException.Извините, у меня нет исходного кода передо мной, но я считаю, что вы должны передать детали в виде строки объекту SoapException.Я подклассифицировал объект SoapException, передав его конструктору нужные мне детали.Затем он вызывает конструктор SoapException, передавая детали вместе со стандартными вещами, которые я всегда хочу вернуть (он проверяет свойство .Data исключения и добавляет его к деталям).Он превращает все вещи в XML для деталей.На стороне клиента я проверяю наличие XML в деталях ошибки, а затем создаю новый объект ошибки JavaScript и добавляю детали в качестве свойств, а затем выбрасываю его.

Поэтому передайте код ошибки в деталях конструктору SoapException.Свойства пользовательского исключения игнорируются SoapException.

Чтобы отключить трассировку стека, я верю, что вы поиграли с web.config.

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