2010-05-05 18 views
10

Esta es una palabra de advertencia más que una pregunta, si está utilizando RIAServices con Custom ValidatorAttributes.Anotaciones de datos personalizadas con servicios RIA

Aquí está el Senario, estaba creando una anotación de datos personalizada que validaría una propiedad en función de si se habían establecido o no una serie de otras propiedades posibles, como; si Prop1 era 100, entonces Prop2, Prop3 o Prop4 no podían ser 0, uno de ellos tenía que establecerse. También estoy usando los Servicios de RIA, así que creé el archivo ValidatorAttribute my .shared.cs. Después de escribir todas las pruebas para la clase CannotBeZeroIf auxiliar, comencé a agregar los atributos a la clase de modelo. Esto es por supuesto cuando algo comenzó a ir muy mal. Los Servicios de RIA comenzaron a vomitar durante el CodeGen, con una NullReferenceException.

CreateRiaClientFilesTask -> NullReferenceException

Resulta estar relacionado con el hecho de que yo estaba usando el constructor del validador para pasar los valores a la clase. Al cambiar al uso de la sintaxis de ObjectInitialization, todo se solucionó.

La respuesta parece ser el uso de la sintaxis de ObjectInitializer al tratar con los servicios de RIA y los validadores de anotación de datos personalizados.

+0

Por mucho que aprecio la intención de esta OP, usted tiene que Haz una pregunta. El problema con esta publicación es que permanecerá indefinidamente en la parte superior de la lista de preguntas sin respuesta. Tal vez podría responder a su propia 'pregunta' (ya que ya conoce la respuesta) y marcarla como respuesta? Esto evitará que los moderadores cierren tu publicación. –

Respuesta

0

La respuesta parece ser utilizar la sintaxis ObjectInitializer cuando se trata de servicios de RIA y más DataAnnotation validadores (que era más fácil de lo que pensaba! ;-)

Cuestiones relacionadas