0

私はすべての会話をキャッチして何かをするアプリケーションを開発しているので、

_lyncClient.ConversationManager.ConversationAdded += ConversationManagerConversationAdded;

ただし、Lyncを再起動しても、アプリケーションで処理を実行したいと思います。そこで、タイマーを使用して、Lyncが実行されているかどうかを確認します。

public static bool LyncPresented
{
    get
    {
        try
        {
            _lyncClient = LyncClient.GetClient();
            return true;
        }
        catch(ClientNotFoundException)
        {
            Trace.WriteLine("Can't found a working Lync instance.");
            return false;
        }

    }
}

Lyncを実行せずに初めてアプリを起動すると、Lyncが起動していないことがわかります。次に、Lyncを実行すると、それを見つけることができます。次に、Lyncをシャットダウンしましたが、LyncClient.GetClient()例外をスローしなくなりました。アプリは、Lyncが利用可能であることを引き続き考慮しています。

私は何が間違っているのですか?Lyncが実行されているかどうかを判断する正しい方法は何ですか?

4

2 に答える 2

0

理由はわかりませんが、次のコードが機能しています

public static bool LyncPresented
{
    get
    {
        try
        {
            _lyncClient = LyncClient.GetClient();
            bool dummy = _lyncClient.InSuppressedMode;
            return true;
        }
        catch(ClientNotFoundException)
        {
            Trace.WriteLine("Can't found a working Lync instance.");
            return false;
        }

    }
}
于 2013-01-17T16:18:01.637 に答える
0

ループの代わりにClientDisconnectedイベントを使用することをお勧めします。

于 2015-09-03T16:47:58.083 に答える