Вы ведете логирование на стороне клиента? - PullRequest
1 голос
/ 15 августа 2010

Как вы фиксируете ошибки, которые происходят на стороне клиента при создании приложений RIA с использованием Flex и Silverlight? Каковы общие практики? Я видел, как реализованы некоторые вызовы asynch js для веб-службы, но хотел бы знать, как с этим справляется сообщество.

Ответы [ 5 ]

4 голосов
/ 15 августа 2010

Во-первых, я все время использую логирование на стороне клиента. то, как я справлюсь с этим, зависит от всего приложения.

если я использую шлюз AMF, то появляется вызов для ошибки приложения, при каждой ошибке, о которой сообщает сервер, на стороне сервера в BugZilla открывается ошибка (это то, что мы используем, вы можете использовать любую другую крючок хочешь).

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

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

0 голосов
/ 09 апреля 2011

В Silverlight вы можете рассмотреть блоки приложений ведения журналов и обработки исключений из пакета интеграции Silverlight для корпоративной библиотеки .

0 голосов
/ 16 августа 2010

Я в основном перенаправляю все ошибки в начало и фиксирую их в необработанном исключении. Я показываю дружеское сообщение пользователю. Тем не менее, во всем приложении я использую интерфейс ILogger. Этот интерфейс может быть инициализирован с различными уровнями и обрабатывает любые сообщения. Вы можете настроить его так, чтобы пользователь мог добавить параметр init, чтобы определить, следует ли передавать ошибки в службу, и у меня обычно есть регистратор, пишущий сообщения с Debug.WriteLine, если отладчик подключен, чтобы сделать его очень простым проблемы трассировки в режиме отладки.

0 голосов
/ 16 августа 2010

Я использовал тот же подход, что и Ави Цурел, - вам необходимо знать на стороне сервера, когда в клиенте Flex появилась ошибка.Если вы хотите собирать больше данных (все сообщения журнала, предупреждения), я бы использовал внутренний буфер и асинхронно очищал бы его.

В любом случае, вы должны принять во внимание, согласны ли ваши клиенты с таким подходом.. возможно, вам необходимо получить их согласие перед отправкой сообщения об ошибке на сервер.

0 голосов
/ 15 августа 2010

В Silverlight мне нравится использовать WebClient для повторного входа в веб-сервис - вы можете сделать это прямо в приложении Silverlight без вызова JavaScript.

Чтобы перехватывать исключения, которые запускаются, когда ваш код не находится в стеке, вы можете использовать событие Application.UnhandledException .

...