Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何编写只运行一次的代码_C#_.net_Asp.net Mvc - Fatal编程技术网

C# 如何编写只运行一次的代码

C# 如何编写只运行一次的代码,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,基本上,我有一个包含两个表单的页面,都使用相同的代码来验证数据: public ActionResult DoValCheck(ValidationCheckObject aValCheckHelper) { var recID = int.Parse(aValCheckHelper.RecordID); var hicnExists = UnitOfWork.McaUniqueRecordRepository.FindBy(m => m.HICN

基本上,我有一个包含两个表单的页面,都使用相同的代码来验证数据:

public ActionResult DoValCheck(ValidationCheckObject aValCheckHelper)
    {
        var recID = int.Parse(aValCheckHelper.RecordID);
        var hicnExists = UnitOfWork.McaUniqueRecordRepository.FindBy(m => m.HICN == aValCheckHelper.HICN);
        var ssnExists = UnitOfWork.McaUniqueRecordRepository.FindBy(m => m.Injured_Party.SSN == aValCheckHelper.SSN);

        if ((UnitOfWork.McaUniqueRecordRepository.FindBy(m => m.Record_ID == recID && m.HICN == aValCheckHelper.HICN).Any()) ||
             UnitOfWork.McaUniqueRecordRepository.FindBy(m => m.Record_ID == recID && m.Injured_Party.SSN == aValCheckHelper.SSN).Any())
        {
            return Json(false);
        }

        if (hicnExists.Any())
        {
            return Json(new { Success = hicnExists.Any(), RecordID = (hicnExists.Any() ? hicnExists.First().Record_ID : -1) });

        }
        if (ssnExists.Any())
        {

            return Json(new { Success = ssnExists.Any(), RecordID = (ssnExists.Any() ? ssnExists.First().Record_ID : -1) });
        }
        else
        {
            return Json(false);
        }
    }
现在的问题是,这段代码被设置为在条件为真的任何时候运行…所以任何时候HICNESists.any为真,这段代码运行这段代码在我的JavaScript中被调用,但我宁愿一次只处理一部分。也就是说,任何时候在HICN文本字段中有代码,HICNESists.any都是真的

如何才能只允许此代码运行一次?

使HICNESists成为可为空的静态类级别变量。测试在调用函数时是否为null。如果为null,则运行查询并设置值。设置该值后,对于当前事务的其余部分,将不会再次运行查询


如果要在事务之间缓存结果,建议设置会话cookie或使用服务器端会话变量。

您可以创建一个文件。如果该文件存在,则该文件以前已运行过。如果它不存在,则以前从未运行过。