none
Lync. LyncClientException не перехватывается RRS feed

  • Вопрос

  • Есть приложение, в котором используется API Lync. Условно, выглядит так: оно выводит список сотрудников и по щелчку выводит подробную информацию. Используя PresenceItem подгружается иконка со статусом и имя из Lync. Но когда я щелкаю подряд по нескольким записям сотрудников подряд, программа вылетает с текстом LyncClientException не обработано. Причем нет конкретного места, где это происходит. Это не определённый пользователь. Вылететь она может на любом, но чаще, когда уже много раз показывались свойства кого-либо. Там везде стоят try-catch, но они не перехватывают это исключение... Что делать. Подскажите? Почему такое может быть?

    Загрузка подробной информации реализовано в отдельно UserControl, ну и presenceItem создаётся (ну и уничтожается) там же. (Wpf c#)

    18 апреля 2013 г. 11:26

Ответы

  • Иключения перехватываются и скорее всего либо проглатываючся либо модифицируются. Чтобы увидеть непосредственное место выброса, запустите приложение во время отладки с предварительно настроенной опцией перехвата вех исключений. Меню: Debug->Exceptions.

    Или подпишитесь на событие AppDomain.FirstChanceException и мониторьте его средствами трассировки.

    AppDomain currentAppDomain = AppDomain.CurrentDomain;
    currentAppDomain.FirstChanceException += new EventHandler<FirstChanceExceptionEventArgs>(FirstChanceException);
    protected void FirstChanceException(object sender, FirstChanceExceptionEventArgs e)
        {
         //Мониторьте здесь.
        }

    19 апреля 2013 г. 15:59
    Модератор

Все ответы

  • Добрый день!

    Перемещаю Вашу тему в более подходящий раздел, - Настольные ПК, форума MSDN.

    19 апреля 2013 г. 14:16
    Модератор
  • Иключения перехватываются и скорее всего либо проглатываючся либо модифицируются. Чтобы увидеть непосредственное место выброса, запустите приложение во время отладки с предварительно настроенной опцией перехвата вех исключений. Меню: Debug->Exceptions.

    Или подпишитесь на событие AppDomain.FirstChanceException и мониторьте его средствами трассировки.

    AppDomain currentAppDomain = AppDomain.CurrentDomain;
    currentAppDomain.FirstChanceException += new EventHandler<FirstChanceExceptionEventArgs>(FirstChanceException);
    protected void FirstChanceException(object sender, FirstChanceExceptionEventArgs e)
        {
         //Мониторьте здесь.
        }

    19 апреля 2013 г. 15:59
    Модератор
  • Спасибо! Но это не помогло. Галочки поставить уже пытались. А вариант с FirstChanceException помогает предсказать появление того исключения, но никак перехватить и выявить, откуда оно вызывается, не получается.

    Тут проблема в работе самой библиотеки Lync. 

    23 апреля 2013 г. 5:51
  • Странно, что студия не перехватывает. Ведб данная опция студии делает по сути тоже самое, т.е. перехватывает все исключения домена пока их не обработали. В любом случае можно вытянуть трассировку стека и посмотреть на вызовы, даже если исключения передаются из неуправляемого кода, управляемый код должен о них оповещать.

    23 апреля 2013 г. 20:28
    Модератор