Следует ли мне избегать использования атрибута Удаленная проверка для проверки наличия записи i на предмет проблем с производительностью - PullRequest
0 голосов
/ 16 февраля 2012

В моем заявлении есть случай, когда никакие две записи не должны иметь одинаковое имя оценки. Для этого я реализую это правило, используя атрибут Remote validation для проверки как на стороне клиента, так и на стороне сервера. Как следует: -

[Remote("CheckAssessmentName", "Assessment")]
[Required]
public string AssessmentName { get; set; }
public JsonResult CheckAssessmentName(string AssessmentName)
{
    var c = elearningrepository.checkname(AssessmentName).Count() == 0;
    return Json(c, JsonRequestBehavior.AllowGet);
}

Проблема в том, что проверка на стороне клиента будет запускаться каждый раз, когда пользователь вставляет или удаляет символ в поле Имя оценки, поэтому я боюсь, что это вызовет проблему с производительностью, если предположить, что у меня могут быть сотни записей оценки , так я должен использовать свой текущий подход или есть лучший способ сделать это?

Второй вопрос: могу ли я отключить проверку на стороне клиента для этого конкретного атрибута Удаленной проверки, для этого я буду проверять наличие только оценочного имени только на сервере !!? BR

1 Ответ

2 голосов
/ 16 февраля 2012

Никто не может ответить на этот вопрос за вас, не зная статистику вашего сервера, что еще работает, сетевой перфект, запрос с индексами или без них и т. Д.

Попробуйте, просто помните, что вы должны проверить и на стороне сервера, поскольку удаленная проверка не выполняет автоматическую проверку снова при сохранении формы, то есть если JavaScript отключен (или сценарии не загружены до отправки формы), тогда они могут обойти чеки

...