我建立一个地铁C#的SkyDrive API的实时连接SDK(http://msdn.microsoft.com/en-us/live/default)的顶部 - 在Windows 8中,用户有选择登入到Windows 8机器与一个本地帐户或Live帐户。
当使用实时连接SDK,如果我叫
// assume wlscopes is properly set
LiveAuthClient liveAuthClient = new LiveAuthClient();
LiveLoginResult loginResult = await liveAuthClient.LoginAsync(wlscopes);
// do some stuff on skydrive
liveAuthClient.Logout(); // <-- issue only with live account, not local
使用本地帐户时,它会记录我出去(大)
当我使用LIVE帐户时调用相同的代码,我得到一个unhanded例外 - 我甚至不能将一个try {}赶上{}解决这个错误。
例外:
Cannot sign out from the application since the user account is connected. (Exception from HRESULT: 0x8086000E)
很明显,因为这是下Live帐户登录的用户无法注销,我的API需要,如果当前用户使用真实账户这样我就可以防止调用注销()方法来检测。
所以....我的问题是,我怎么知道该帐户的用户已经在Windows 8签订?