Хобрук: Ваш путь к мастерству в программировании

Передача параметров клиента на сервер с помощью служб RIA

Я использую службы RIA с EF, пользовательским интерфейсом Silverlight и встроенной средой проверки. Проблема следующая:

Правила проверки немного отличаются в зависимости от пользовательского ввода на стороне клиента, рассмотрим этот простой сценарий.

protected override ValidationResult IsValid(object value, ValidationContext  validationContext)
{
    if (validation_mode == Modes.Normal)
    {
        // do normal validation
    }
    else
    {
        // do admin validation
    }
}

Мне нужен способ передать 'validation_mode' службам RIA на стороне сервера. Могу ли я как-то передать его в коллекцию ValidationContext.Items? Может, я ошибаюсь?

Заранее спасибо!


Ответы:


1

Вы можете добавить validation_mode в ValidationContext:

ValidationContext.Items.Add(new KeyValuePair<object,object>("validation_mode", validation_mode)); 
26.09.2011
  • Я пробовал это, но, похоже, это не передается на сервер? 27.09.2011
  • Вы можете создать метод на стороне сервера и вызвать его на стороне клиента следующим образом: [Invoke] public void SetItem (string value) {this.ValidationContext.Items.Add (key, value); } Однако domainservice теряет состояние, поэтому это значение не всегда доступно ... Мысли? 27.09.2011
  • Как вы определили, что он не продвигается на сервер? Мы просто добавляем элемент в открытый список элементов проверки. Может быть, преобразовать validation_mode в строку, прежде чем вводить ее в KeyValuePair? 27.09.2011
  • А где вы получаете доступ к контексту проверки? 17.10.2011
  • Новые материалы

    React on Rails
    Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

    Что такое гибкие методологии разработки программного обеспечения
    Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

    Ториго  — революция в игре Го
    Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

    Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
    Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

    Математика и интуиция - Часть 1
    У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..

    Раскрытие возможностей НЛП: часть речевой маркировки и ее проблемы
    В сфере обработки естественного языка (NLP) маркировка частей речи (POS) выступает в качестве фундаментального метода, позволяющего компьютерам понимать и анализировать человеческий язык на..

    Под поверхностью: раскрытие деталей системы с помощью инструментов Linux CLI
    Чем больше вы изучаете Linux и продвигаетесь вперед, тем больше вам нужно проверять информацию о вашей системе. Эта информация может касаться аппаратного обеспечения, такого как процессор,..