我正在处理 WinForms 应用程序的登录过程,并正在检查各种选项来存储我的应用程序登录凭据,并且遇到了一个我想寻求帮助的问题。
我的想法是将应用程序凭据存储到 Windows 凭据管理器,如果操作系统支持它(目标操作系统可以是从 Vista 到 Win10 的任何东西),否则将其存储到 Windows 注册表。但是我面临的问题是我将如何检查操作系统是否支持 Windows 凭据管理器,我在某处读到如果它不存在它会抛出一个错误,但是有没有更好的方法可以在不处理它的情况下检查它例外。
我正在使用CredentialManagement Nuget 包来访问 Windows 凭据管理器功能。
public static string GetPassword()
{
try
{
using (var cred = new Credential())
{
cred.Target = CredentialName;
if (cred.Exists())
{
cred.Load();
return cred.Password;
}
else
{
return string.Empty;
}
}
}
catch (Exception ex)
{
// Handle the exception
}
}