Remoting et Exception [Résolu]

cs_elisbeth 3 Messages postés jeudi 29 novembre 2007Date d'inscription 20 juillet 2009 Dernière intervention - 19 juil. 2009 à 23:00 - Dernière réponse : cs_elisbeth 3 Messages postés jeudi 29 novembre 2007Date d'inscription 20 juillet 2009 Dernière intervention
- 20 juil. 2009 à 18:20
Bonjour,

Je ne comprends pas pourquoi je n'arrive pas à propager les exceptions sur le client dans un contexte .Net Remoting.

J'ai suivi MSDN
http://msdn.microsoft.com/fr-fr/library/s9fyb186(VS.80).aspx
pour l'implémentation de la classe d'exception ;

j'ai positionné <customErrors mode="Off"/> ;

Je leve l'exception par
throw new CustomRemotableException("message erreur");

Je catche (Exception ex) sur mon client , et j'obtiens inlassablement le message d'erreur

l'exception CustomRemotableException n'a pas été gérée par le code utilisateur ...

Que n'ai-je pas fait ?

Merci pour votre aide ...
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_elisbeth 3 Messages postés jeudi 29 novembre 2007Date d'inscription 20 juillet 2009 Dernière intervention - 20 juil. 2009 à 18:20
3
Merci
Si, si ... j'avais catché , mais sur le client ....


Et ça y est, ça marche !!!!

Je me suis, je pense emmeler les pieds, lorsque j'ai testé sur la même machine : sur le serveur, il m'a demandé de rectifier customErrors.

J'avais aussi fait une boulette dans le code de la classe d'exception

Maintenant, tout va !!

Un gros merci pour tes réponses qui m'ont remotivée ....

Merci cs_elisbeth 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_elisbeth
leprov 1163 Messages postés vendredi 23 juillet 2004Date d'inscription 21 octobre 2010 Dernière intervention - 20 juil. 2009 à 12:31
0
Merci
Ton exception doit :
Etre marquée avec l'attribut serializable
Avoir un constructeur de serialization (regarde le constructeur protected de Exception qui prend en paramètres SerializationInfo info, StreamingContext context).
Regarde l'inner exception de celle que tu catch coté client. elle ne doit pas correspondre a celle que tu lève, mais a une exception concernant l'echec de la serialisation de ton exception
Commenter la réponse de leprov
cs_elisbeth 3 Messages postés jeudi 29 novembre 2007Date d'inscription 20 juillet 2009 Dernière intervention - 20 juil. 2009 à 15:08
0
Merci
Merci pour ta réponse ...

J'ai repointé ma classe Exception par rapport à MSDN : elle est bien Serializable, hérite de RemotingException et implémente ISerializable; mon constructeur de sérialisation est public, pas protected ...(???)

InnerException côté client est null...

Code côté serveur :
if (oArt == null) throw new ArticleException("Article inexistant");
else
{
Et il affiche l'assistant d'erreur exception "L'exception ArticleException n'a pas été géree par le code utilisateur" sur {

Si tu as une piste .... je prends encore !
Merci
Commenter la réponse de cs_elisbeth
leprov 1163 Messages postés vendredi 23 juillet 2004Date d'inscription 21 octobre 2010 Dernière intervention - 20 juil. 2009 à 16:06
0
Merci
Ah d'accord. Euh donc tu n'as simplement pas catché l'exception j'imagine? Cet assistant te fait break sur Application.Run(MainForm); ?
Commenter la réponse de leprov

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.