Si tengo una aplicación en capas y mi capa de datos puede encontrar una OptimisticConcurrencyException ¿cómo debe lidiar la capa de llamada o la capa inferior con esto?Manejo de excepciones en una aplicación en capas
La capa llamada no tiene idea de lo que un OptimisticConcurrencyException es, por lo que debería ser una excepción personalizada poniendo en práctica y controlar el OptimisticConcurrencyException y lanzando mi excepción personalizada?
Alguna orientación sobre esto sería muy apreciada.
Mi UI es MVVM, quiero que mi ViewModel avise al usuario de que el registro fue actualizado por otro usuario y realice una navegación en consecuencia, pero ¿qué tipo de excepción capto? En esa capa, solo podría identificar la excepción como una System.Exception. – David
En este caso, cree una excepción que indique que el registro ha cambiado. Por ejemplo 'EntityChangedByOtherException' o algo así. Siga el patrón de Interfaz separada que se encuentra aquí: http://martinfowler.com/eaaCatalog/separatedInterface.html para reducir el acoplamiento entre las capas. – jgauffin
@jgauffin, gracias de nuevo por la respuesta. ¿Sugiere que implemente, por ejemplo, EntityChangedByOtherException (que heredaría de System.Exception) en el ensamblado/capa que lo arrojaría y definiría una interfaz para él en otro ensamblaje, p. IEntityChangedByOtherException que mi VM usaría? – David