c# n'est exceptionnellement pas correctement capturé par jquery ajax

ok, j'ai un problème avec l'environnement de production et comment jquery ajax capture de l'erreur.

Dans mon environnement de développement sur ma machine locale lors de l'ajax de jquery appelle un service web [webmethod] et le webmethod jette une erreur spécifique, l'ajax de jquery capte bien mais dans la production envirnment l'ajax de jquery capture de l'erreur, mais le message est générique "Il y avait une erreur dans le traitement de la demande." par "Erreur Interne du Serveur"

par exemple

Le code c#

[WebMethod]
public String dostuff(String Auth){
//some code here
//if error occurs
throw new Exception("Some specific error message");
return "ok";
}

l'ajax de jquery appel

    var data = JSON.stringify({ Auth: "some data here" }, null);

    $.ajax({
        type: "POST",
        url: '/Services/memberService.asmx/dostuff',
        data: data,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (result) {
            alert(result.d); //alert ok
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("responseText=" + XMLHttpRequest.responseText + "\n textStatus=" + textStatus + "\n errorThrown=" + errorThrown);
        }
    });

sur ma machine locale la XMLHttpRequest.responseText est "Certains message d'erreur"

sur l'environnement de production la XMLHttpRequest.responseText est "Il y avait une erreur dans le traitement de la demande."

l'environnement local est windows 7 home premium avec IIS 7.5.7600.16385

l'environnement de production est Windows Server 2008 R2 avec IIS 7.5.7600.16385 (de même que le développement de l'environnement)

pourquoi la différence et comment faire de l'environnement de production jeter l'erreur spécifique?

********* juste un suivi .. tnx Justin *************

j'ai ajouté web.fichier de configuration à l'intérieur du dossier des services (Doh... je me demande pourquoi je ne pense pas que cela)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
      <customErrors mode="Off" />
    </system.web>
</configuration>
De vérifier la <customErrors> section du site web.config. Généralement on ne veut pas exposer les détails de l'exception à l'utilisateur final.
ok... mais est-il un moyen pour activer ce seulement pour les services web? actuellement, il est RemoteOnly
C'est exactement la même question que j'ai posté il ya longtemps ici stackoverflow.com/questions/8059780/...
Vous pouvez utiliser le <location> élément à préciser qu'il s'applique uniquement aux services web, au moins si vous les avez dans un dossier séparé. Je n'ai jamais essayé sans un dossier séparé.

OriginalL'auteur robert | 2012-02-22