J'utilise des méthodes avec l'attribut [WebMethod] dans mes pages aspx. Je n'utilise pas asp.net ajax mais jQuery pour appeler ces méthodes et retourner des objets dans JSON. Tout cela fonctionne très bien.Masquage de la pile pour une exception renvoyée par une méthode web asp.net?
Ensuite, j'ai ajouté une vérification d'autorisation dans webMethod, si l'utilisateur actuel n'a pas accès à la fonctionnalité dont j'ai besoin pour que le JavaScript appelant sache. Par conséquent, je lève une exception AccessViolationException qui peut ensuite être analysée par la fonction de rappel OnError dans JavaScript. Cela fonctionne aussi mais l'exception inclut le StackTrace complet et je ne veux pas le rendre disponible au client appelant.
De quelles autres manières pourrais-je utiliser pour renvoyer un "Accès refusé" au client lorsque WebMethod renvoie un objet métier?
J'utilise ASP.Net 3.5SP1 et jQuery 1,32
Je pense J'ai très peu de contrôle sur la valeur de retour d'un WebMethod, je peux soit retourner l'objet métier attendu ou null. Comment est-ce que je jetterais une «réponse d'erreur» là? –
Vous pouvez encapsuler votre BusinessObject dans un objet ResponseObject qui pourrait avoir un statut. Ne pourriez-vous pas? –
Je pensais juste dans le même sens, merci pour l'entrée. –