繁体   English   中英

很快单击“提交”按钮时,服务器验证无法按预期方式工作

[英]Server validation not working as expected while clicking submit Button very fast

我正在检查.netcore webapi项目中服务器功能中的重复名称验证,但是当从UI中快速单击“保存”按钮时,服务器处理并行请求并在数据库中输入相同的名称。 我知道可以避免在数据库中设置约束,但是除此之外还有其他解决方案,因为当我们在保存其他功能之前在服务器中处理巨大的逻辑验证时,可能会发生相同的情况。

public async Task<ReturnMessageMain> Create(CreateOrEditMainCategoryDto input)
        {
            if (_mainCategoryRepository.GetAll().Where(x => x.MainGroup == input.MainGroup.Trim()).Count() > 0)
            {
                throw new UserFriendlyException("Main Category already exists");
            }

            var mainCategory = ObjectMapper.Map<MainCategory>(input);


            int id = await _mainCategoryRepository.InsertAndGetIdAsync(mainCategory);

            if (id > 0)
            {
                return new ReturnMessageMain()
                {
                    Id = id,
                    Code = input.MainGroupCode,
                    Message = "Saved Successfully"

                };

            }
            else
            {
                return new ReturnMessageMain()
                {
                    Id = 0,
                    // Code = input.MainGroupCode,
                    Message = "Please try again"

                };
            }
        }

当用户多次单击保存按钮然后多次调用创建函数时,这会导致问题,我们可以禁用提交按钮,但这只是客户端的一种方法,我们如何从服务器端处理此问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM