我有一个使用NuSoap的CodeIgniter后端的Xamarin Android forms项目。
I 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 forms应用程序执行了相同的顺序,但得到了以下错误。我看到了关于将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;
}发布于 2019-10-05 06:15:19
似乎结果可能返回null。因此,当您尝试访问result中的内容时,它会崩溃。添加一个null检查,这应该会消除您的错误。
if (result != null)
return result.Contains("true");https://stackoverflow.com/questions/53000302
复制相似问题