Windows Community Toolkit 7.1中IProvider.LoginAsync的替代方案是什么
CommunityToolkit 7.1 版本LoginAsync方法替代方案
核心变更说明
- 7.1版本对
IProvider身份认证接口做了破坏性变更,原接口内置的LoginAsync()、LogoutAsync()实例方法已被移除,替换为SignInAsync()、SignOutAsync()扩展方法,需先引入对应命名空间才能调用。
修改步骤
- 第一步:在代码文件头部引入扩展方法所在命名空间:
// 基础认证场景引入 using CommunityToolkit.Authentication.Extensions; // 若同时使用Graph相关能力,也可引入Graph扩展命名空间 // using CommunityToolkit.Graph.Extensions;
- 第二步:将原代码中的
await provider.LoginAsync()替换为await provider.SignInAsync()即可,原有业务逻辑无需额外调整。
修改后完整代码示例
using CommunityToolkit.Authentication.Extensions; IProvider provider = ProviderManager.Instance.GlobalProvider; if (provider == null) { //无法初始化OneDrive连接; } else { if (provider.State == ProviderState.SignedOut) { await provider.SignInAsync(); } }
补充说明
如果需要实现登出逻辑,原有的provider.LogoutAsync()调用同步替换为await provider.SignOutAsync()即可,使用逻辑和7.0版本完全一致。
内容的提问来源于stack exchange,提问作者Hong
相关产品推荐
相关产品推荐

