Повторное использование кода проверки в UI, BL и / или DL - PullRequest
1 голос
/ 24 марта 2009

Я хочу пройти проверку на стороне клиента для быстрого ответа пользователю без обращения к серверу.

Мне также нужна такая же проверка для защиты кода для действия на уровне доступа к бизнесу и данным .

Как вы прагматично используете этот вид кода в ASP.NET?

(примечание: ASP.NET, C # 3.0, .NET 3.5, Visual Studio 2008)

Ответы [ 4 ]

1 голос
/ 25 марта 2009

Я не знаю, есть ли что-то для обычного asp.net, но вы можете проверить, как продвигается этот проект с открытым исходным кодом: http://xval.codeplex.com/. Обратите внимание, я действительно не использовал это, поэтому я не уверен, насколько это хорошо.

0 голосов
/ 24 марта 2009

Создайте проект проверки, предоставьте ему интерфейс веб-службы, чтобы вы могли звонить с помощью ajax, вот учебник , а затем добавьте его к своему бизнес-слою и своему слою Dal. тогда весь ваш код может использовать один и тот же код проверки.

0 голосов
/ 24 марта 2009

Дружеское предупреждение, чтобы не ожидать слишком больших успехов для ваших усилий. Эта статья довольно хорошо описывает ошибки в размышлениях о мифическом «бизнес-уровне», который вы видите в своих усилиях по централизации и избежанию дублирования кода. В результате, такое объединение, о котором вы говорите, зачастую слишком сложно оправдать.

0 голосов
/ 24 марта 2009

Для пользовательского интерфейса:

Вы можете вызвать метод / свойство Page.IsValid, а затем, если он возвращает false, проверить валидаторы и распечатать их строки ошибок вручную. Или просто сделайте свою собственную обработку ошибок, как считаете нужным.

есть:

    protected void OnSomeEvent(object sender, EventArgs e)
    {
        if (!Page.IsValid)
        {
            ErrorMessage.Text = "your socks are the wrong colour";
            return;
        }
        // Continue processing.
    }

Предполагается простой литерал для отображения ошибки. Очевидно, с учетом ваших собственных потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...