Quantcast
Channel: Xamarin.Forms — Xamarin Community Forums
Viewing all articles
Browse latest Browse all 77050

How to fix SQL Exception happening only in android?

$
0
0

I'm using xamarin forms to develop a cross-platform app. As part of my app, I have a login page where the user enters his credentials and gets authenticated. I'm using entity framework core and I'm connecting to a SQL server which is hosted on Azures cloud. The code works and I can log in successfully, but only with IOS and UWP, if i try with Android I receive this exception:

System.Data.SqlClient.SqlException:
If I continue the debugging I receive another exception which is:

System.Data.SqlClient.SqlException: Snix_PreLogin (provider: SNI_PN6, error: 31 - SNI_ERROR_31) Snix_PreLogin (provider: SNI_PN6, error: 31 - SNI_ERROR_31)
This is my Icommand:

LoginCommand = new Command(async () => await Login());
this is my method inside the view-model:

private async Task Login()
{
    IsBusy = true;
    if (String.IsNullOrWhiteSpace(_emailField) || String.IsNullOrWhiteSpace(_passwordField))
        await App.Current.MainPage.DisplayAlert("Error", "All fields must contain values.", "Ok");
    else
    {
        if (await DatabaseHandler.LoginUser(_emailField, _passwordField))
        {
            App.CurrentAccount = new UserAccount { Email = _emailField, Password = _passwordField };
            App.Current.MainPage = new MainPage();
        }
        else
            await App.Current.MainPage.DisplayAlert("Error", "Email or password are incorrect.", "Ok");
    }
    IsBusy = false;
}

and this is my method inside the DatabaseHandler:

public static async Task<bool> LoginUser(string email, string password)
{
    AzureContext AzureDb = new AzureContext();
    App.CurrentAccount = await AzureDb.UserAccounts.SingleOrDefaultAsync(account => account.Email == email && account.Password == password);
    return (App.CurrentAccount == null) ? false : true;
}

Another thing worth mentioning is that when I comment out the IsBusy lines in the Login method which are responsible for the activity indicator, I no longer get an exception. But, it's still not working, instead of an exception the UI just freezes for a long time and after it unfreezes nothing happens.

Help would be appreciated.


Viewing all articles
Browse latest Browse all 77050

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>