Сгенерированный класс из веб-сервиса - PullRequest
1 голос
/ 24 февраля 2011

Я работаю с веб-сервисом .net, в котором есть какой-то класс.Затем я сгенерировал прокси-класс, который содержит этот класс.Но в веб-сервисах я определил для некоторых полей правила проверки, такие как регулярное выражение или сообщения об ошибках и т. Д.

[DataMember]
[Required(ErrorMessage = ErrorMessages.DefaultRequiredErrorMessage)]
[Display(Order = 2, Name = "Email")]
[RegularExpression(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$",
    ErrorMessage = "Email is not correct.")]
public string Email { get; set; }

Я хотел бы иметь эти правила проверки в сгенерированном классе.Вместо этого у меня есть только класс:

 [System.Runtime.Serialization.DataMemberAttribute()]
    public string Email {
        get {
            return this.EmailField;
        }
        set {
            if ((object.ReferenceEquals(this.EmailField, value) != true)) {
                this.EmailField = value;
                this.RaisePropertyChanged("Email");
            }
        }
    }

Возможно ли это?Как я могу получить эти правила проверки в классе?

Ответы [ 2 ]

0 голосов
/ 24 февраля 2011

В вашем случае я делю один и тот же исходный файл между двумя проектами, (Я имею ввиду одно и то же пространство имен и т. Д.)

Серилизация и десериализация работают нормально. И я могу использовать одну и ту же собственную логику в двух местах.

0 голосов
/ 24 февраля 2011

Это только один из недостатков с автоматически сгенерированными прокси.

Если вы можете, обратитесь к DLL / проекту, в котором определяется entity / dto, а затем используйте WCF для создания прокси.

Это может помочь вам.

...