나는 asynchrounously 실행하려는 간단한 코드를 가지고 : 나는 await Task.Delay(1000);
을 추가 할 때C#을 비동기, 기다리고
private async void Encryption()
{
ShowBusyIndicator();
await encryptor.EncryptAsync();
HideBusyIndicator();
}
요점은, : 나는 방법 위의 호출 방법은
public async Task EncryptAsync()
{
for (int i = 0; i < 10; i++)
{
// shift bytes
// column multiplication
// and so on
}
}
이 방법에서는 busi 표시기가 표시되지만 1 초 후에 응용 프로그램이 잠기고 암호화 완료를 위해 SYNCHRONOUSLY를 기다립니다. Task.Delay를 제거하면 응용 프로그램이 잠기고 작업이 끝난 후 잠금이 해제됩니다.
내 경우에 await과 asyc를 올바르게 사용하는 방법은 무엇입니까? 간단히 메서드 encryptor.EncryptAsync()
을 비동기 적으로 실행하기를 원합니다.
코드에서 제공하는 컴파일러 경고에 유의하십시오. – SLaks
암호화는 ** 어렵습니다 **. 자신의 암호화를 발명하지 마십시오. – SLaks
그것은 반짝 반짝 빛나는보고를위한 기능입니다 : P – Fka