A-A+

LYNC开发-登录

2014年09月22日 技术 暂无评论 阅读 1,624 次

索引请点击这里

本文将描述如何使用Microsoft Lync SDK控制Microsoft Lync Client完成登录。

1.图示

LyncSignIn

2.说明

  • 初始化客户端模型,使用《Lync开发-GetClient()》中所介绍的方法获取LyncClient。
  • 注册客户端模型事件“StateChanged”和“CredentialRequested”。
    1. lyncClient.StateChanged += LyncClient_StateChanged;
    2. lyncClient.CredentialRequested += LyncClient_CredentialRequested;
  • 调用BeginSignIn方法,开始登录。
    1. lyncClient.BeginSignIn(_strSIP, nullnull, LyncSignInCallback, _lyncClient);
  • 触发CredentialRequested事件。
    1. void LyncClient_CredentialRequested(object sender, CredentialRequestedEventArgs e)
    2. {
    3.     if (e.Type == CredentialRequestedType.SignIn)
    4.     {
    5.         e.Submit(strUserName, strPassWord, blIsRememberPWD);
    6.      }
    7. }
  • 调用EndSignIn方法,结束登录。
    1. void LyncSignInCallback(IAsyncResult ar)
    2. {
    3.     if (ar.IsCompleted)
    4.     {
    5.         try
    6.         {
    7.              ((LyncClient)ar.AsyncState).EndSignIn(ar);
    8.         }
    9.         catch
    10.         {
    11.             throw;
    12.         }
    13.      }
    14. }
  • 触发StateChanged事件。
    1. void LyncClient_StateChanged(object sender, ClientStateChangedEventArgs e)
    2. {
    3.     if (e.NewState == ClientState.SignedIn)
    4.     {
    5.         //登录成功
    6.      }
    7. }

3.注意事项

调用BeginSignIn方法时,如果第二个和第三个参数输入为null,则会触发CredentialRequested事件。如果输入域账户名称和密码,在正确的情况下会成功登录,并不会触发CredentialRequested事件。

触发CredentialRequested事件,调用Submit方法提交用户信息时,如果用户凭证正确,则登录成功;如果用户凭证不正确,则会再次触发CredentialRequested事件。如果_blIsRememberPWD 等于true,会生成相应的用户证书,下一次调用BeginSignIn方法时,只需要SIP地址(第一个参数),就可以成功登录。

MSDN参考:How to: Sign In to Lync with UI Suppressed

哼哼的泰迪熊

给我留言

Copyright © 字痕随行 保留所有权利.   Theme  Ality 京ICP备14039894号

用户登录

分享到: