CredentialPickerResults 호출이 수행 된 후 코드를 건너 뜁니다. 로그인 화면이 표시되지 않고 코드가 현재 기능의 코드를 완료하지 않고 다음 기능으로 이동합니다.CredentialPickerResults 호출 후 코드 건너 뛰기
Global.strUsername = credResults.CredentialUserName 및 암호를 완전히 건너 뛰고 곧바로 GetData() 함수로 이동합니다.
public MainPage()
{
this.InitializeComponent();
GetCredentials();
GetData();
}
private async void GetCredentials()
{
CredentialPickerOptions credOptions = new CredentialPickerOptions()
{
AuthenticationProtocol = AuthenticationProtocol.Basic,
CredentialSaveOption = CredentialSaveOption.Selected,
CallerSavesCredential = true,
Caption = "Login",
Message = "Please enter your credentials",
TargetName = ".",
};
CredentialPickerResults credResults = await CredentialPicker.PickAsync(credOptions);
Global.strUsername = credResults.CredentialUserName;
Global.strPassword = credResults.CredentialPassword;
}
private async void GetData()
{
//get data
}
그걸 건너 뛰지 않으면 단순히 비동기 작업이 결과를 반환하기를 기다리지 않을뿐입니다. 이 문제를 해결하려면 credResults가 null이라는 조건을 반복하면됩니다. –
결과를 기다리는 데 어떻게 걸릴까요? 루프에 넣지 않고 계속해서 같은 전화를 반복해서 호출하지 않겠습니까? – user130622
루프의 중단 조건이 객체가 'null'이 아닌 경우 루프가 한 번만 발생합니다. –