Reputation: 35
When I invoke TryToLogin by clicking "Login" button in my .Net Maui Blazor Hybrid App I got unhanced error, I even have try catch block but catch is not calling. This problem only in Android Release Build, In Android Debug build everything works good, wheare problem can be or at least how can I debug Release build?
private class LoginService
{
public async Task<User> TryToGetUser(UsersRepository usersRepository, string login, string password)
{
try
{
var users = await usersRepository.GetAllUsers();
if (users == null || users.Length == 0) return null;
foreach (var user in users)
{
if (user.login == login || user.email == login)
{
var pasHash = password.GetSHA256Hash();
if (user.password == pasHash)
{
return user;
}
}
}
}
catch (Exception ex)
{
await App.Current.MainPage.DisplayAlert("Ошибка", $"Ошибка: {ex}", "Ок");
return null;
}
return null;
}
}
private async Task TryToLogin()
{
if (string.IsNullOrWhiteSpace(login))
{
await App.Current.MainPage.DisplayAlert("Ошибка", "Пожалуйста введите свой логин или email в поле, что бы продолжить", "Ок");
return;
}
if (string.IsNullOrWhiteSpace(password) || password.Length < Constants.minPassLength)
{
await App.Current.MainPage.DisplayAlert("Ошибка", $"Пожалуйста введите свой пароль в поле, что бы продолжить, минимальное количество символов {Constants.minPassLength}", "Ок");
return;
}
isLoading = true;
LoginService service = new LoginService();
User currentUser = await Task.Run(async () =>
{
return await service.TryToGetUser(usersRepository, login, password);
});
if (currentUser == null)
{
isLoading = false;
await App.Current.MainPage.DisplayAlert("Ошибка", "Пользователь с таким логином и паролем не найден, попробуйте проверить регистры", "Ок");
return;
}
userHandler.Save(currentUser);
await SecureStorage.SetAsync("login", login);
await SecureStorage.SetAsync("password", password);
navigationManager.NavigateTo("/home");
}
Upvotes: 0
Views: 580
Reputation: 35
I fixed this problem by disabling TRIMMING and AOT in Project settings, if someone will have same problems you can read about "linker" or something like that
Upvotes: 2