У меня есть проект Xamarin для Android-форм, использующий серверную часть CodeIgniter с NuSoap.
В Visual Studio я создал базовый проект .NET для тестирования, добавил подключенный сервис к серверу. Создал асинхронную задачу для извлечения данных с сервера, все это работало правильно.
var client = new TbqService.ServicePortTypeClient();
var loginTask = Task.Run(() => client.logInAsync("user", "password"));
echoTask.Wait();
Console.WriteLine($"Login result {loginTask.Result}");
Затем я следовал той же последовательности для приложения форм Xamarin, но получаю следующую ошибку. Я видел комментарии о настройке SSL для TLS 1.2 и удалении папки bin / obj и перестройке. Ни то, ни другое не помогло.
{System.NullReferenceException: Object reference not set to an instance of an object.
at MyThingApp.Models.DataConnect+<Login>d__13.MoveNext () [0x00023] in
D:\WebSites\TheMyThing_Projects\MyThingApp\MyThingApp\MyThingApp\Models\DataConnect.cs:31 }
Есть ли разница в том, как эти две работы работают, я должен обращаться с ними по-разному?
public async Task<bool> Login(string email, string password)
{
try
{
var c = new TbqService.ServicePortTypeClient();
var result = await c.logInAsync(email, password); // line 31 in error
return result.Contains("true");
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
}
return false;
}