使用JSon异常和nullException从...获取值时出错

时间:2017-06-01 07:50:06

标签: c# json visual-studio entity-framework

这是我遇到的一个非常棘手的问题,我没有得到任何东西,我会尽量清楚

我正在开发一个项目,它在数据库中获取数据并从中创建Json文件,这是抛出异常的方法:

public async Task<int> RecupInters(List<string> fileExist)
    {
            List<JsonFile> ljf = (await myservice.getJsonFilesAsync(Switcher.pageSwitcher.currentUser, fileExist.ToArray())).ToList();
        if (ljf.Count > 0)
            {
                float percentPerFile = 50 / ljf.Count;
                string jsonFolder = Data.HelperDirectory.getFolderDocumentAndCreate("JSON");
                float percent = 0.0f;
                foreach (JsonFile jf in ljf)
                {
                    this.changeValues("Récupération de nouveaux rapports", percent, "Sauvegarde des fichiers d'interventions");
                    File.WriteAllText(jsonFolder + jf.Name, jf.Content);
                    percent = percent + percentPerFile;
                }
            }
            return ljf.Count;
    }

它说“从demandeAideFilledAndItsMine获取值时出错”并抛出JsonSerialization异常和nullReferenceException。 demandeAidefilledAndItsMine是FichePreDiag类的属性:

public bool demandeAideFilledAndItsMine { get { return (this.NomDemandeAide != null && isMine()); } }

(如果需要,这是IsMine方法)

public bool isMine()
    {
        if (!String.IsNullOrEmpty(this.NomDemandeAide))
        {
            return this.NomDemandeAide.Equals(DAL.getUserByUsername(Environment.UserName).fullName);
        }
        else
            return false;
    }

FichePreDiag类是由EntityFramework生成的数据库对象。 无论如何,实际上当它调用方法getJsonFilesAsync时抛出Exception,所以我深入研究它,它来自这里:

public System.Threading.Tasks.Task<DAO.JsonFile[]> getJsonFilesAsync(DAO.User u, string[] fileExist) {
        return base.Channel.getJsonFilesAsync(u, fileExist);
    }

此方法属于partial类,并在引用中调用相同名称的方法:

[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService1/getJsonFiles", ReplyAction="http://tempuri.org/IService1/getJsonFilesResponse")]
    System.Threading.Tasks.Task<DAO.JsonFile[]> getJsonFilesAsync(DAO.User u, string[] fileExist);

我无法深入了解。我现在很困惑,我需要帮助。

感谢您的时间

0 个答案:

没有答案