【问题标题】:how to check if user already exists in firebase c#如何检查用户是否已存在于firebase c#中
【发布时间】:2021-09-24 11:29:30
【问题描述】:

我建立了一个登录/注册系统,我希望当你创建一个用户名时,它会检查电子邮件是否存在,它工作正常并显示消息框“电子邮件存在”,但是当它是一个新用户并且有不存在电子邮件,它会崩溃。

这是异常消息:

(System.NullReferenceException) Message=The object reference was not set to an object instance

代码:

FirebaseResponse response = await client.GetTaskAsync("Information/" + Emailtextbox.TextName);
Data result = response.ResultAs<Data>();
if (Emailtextbox.TextName == result.Email)
{
    MessageBox.Show("Email exists");
   
} else
{
    
    var data = new Data
    {
        Email = Emailtextbox.TextName,
        Fullname = Fullnametextbox.TextName,
        Password = EncryptSHA.GetShaData(PasswordTextbox.TextName)
    }
        
};

【问题讨论】:

标签: c# firebase firebase-realtime-database


【解决方案1】:

根据错误的屏幕截图以及以下 cmets 中提供的信息更新此内容。

您的错误似乎与您的 client.GetTaskAsync("Information/" + Emailtextbox.Textname); 调用返回的内容有关。

我的建议是尝试了解您从该调用中收到的内容(存储在您的 response 对象中的内容)。通过最新的屏幕截图,我看到Body 为空,这可能是问题的一部分。尝试在response 中扩展您在Response 对象中看到的内容,看看您是否收到任何可以使用的数据并从那里开始。

【讨论】:

  • 它不起作用,我使用的是 c# 7.3,你能不能再给我一个 sultion,我试过我们的,但无法解决:(
  • 有什么方法可以分享更多代码吗?查看EmailtextboxFullnametextboxPasswordTextbox 的来源会有所帮助。此外,如果您可以在代码中设置断点以查看它在哪里引发错误,那也会很有帮助。
  • 另外@AsafM,我刚刚更新了我的答案。在 ( ... is not null) 部分中,检查对象本身是否为空(而不是它们的 TextName 属性)。
  • 嘿,你可以在这里看到它:codeshare.io/zygE47 当它崩溃时我标记为 /////////////////////// // 向下滚动查看数据类 Emailtextbox、Fullnametextbox 和 Passwordtextbox,来自表单
  • 嘿 @AsafM,感谢分享 codeshare.io 链接。你确定EmailTextbox 不为空吗?你有if (Emailtextbox.TextName != result.Email),在此之前尝试添加if (Emailtextbox is null) { MessageBox.Show("Emailtextbox is null"); }
猜你喜欢
  • 2019-01-04
  • 1970-01-01
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 2021-02-11
相关资源
最近更新 更多