我有一个使用CodeIgniter后端和NuSoap的Xamarin Android表单项目。
我在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;
}
答案 0 :(得分:0)
似乎结果可能返回null。因此,当您尝试访问结果中的内容时,它会崩溃。添加一个空检查,这将消除您的错误。
-std=c++17