2017-06-21 2 views
0

Kontext„Ploc“ und seltsame Ausnahme Nachrichtenketten

I OData und Modellzustand Validierung bin mit Fehlermeldungen zu erzeugen. Beim Versuch, den tatsächlichen Grund für einen Validierungsfehler zu erhalten, ziehe ich die Ausnahmebedingungsnachricht heraus.

Ich habe den folgenden Code:

 foreach (var field in modelState) 
     { 
      details.AddRange(field.Value.Errors.Select(error => new Error 
      { 
       Target = field.Key.ToCamelCase(), 
       Message = error.ErrorMessage, 
       InnerError = new Error 
       { 
        Message = error.Exception.Message 
       } 
      })); 
     } 

Das Problem ist mit error.Exception.Message.

Beispiele

Als ich die Anfrage

senden
 { 
      "assisfdgfsdgnedBy": true 
     } 

Dies ist der Wert der Nachricht ist:!

“ynECc Der Parameter 'assisfdgfsdgnedBy' in der Anfrage Nutzlast kein gültiger Parameter für die Operation 'Count'. Ploc Ploc! "

Als ich die Anfrage

{ 
    "assisfdgfsdgnedBy": truedsg 
} 

Der Wert der Nachricht senden ist

"! IeOni! Ungültiger JSON. Unexpected token 'truedsg'. Ploc!"

Gelegentlich werde ich auch haben Endungen wie

"Ploc ploc plo!"

und es scheint der erste Teil von "! Etwas!" Änderungen für jeden Fehlertyp, aber konsistent für Anfragen mit demselben Fehler.

Frage

Was diese Werte sind, warum sind sie in der Ausnahmemeldung, und wie kann ich sie leicht entfernen, ohne andere „normale“ Ausnahmemeldungen zu beeinflussen?

Antwort

0

Ich bin zu einer Lösung gekommen, um diese Werte zu streichen, aber ich habe immer noch keine Ahnung, was sie verursacht.

-Code lautet wie folgt:

public static string CleanPlocPloc(string message) 
{ 
    message = Regex.Replace(message, "^!.+?!", ""); 
    message = Regex.Replace(message, @"\.(\s(Ploc|Plo))*\s!$", "."); 

    return message; 
} 
Verwandte Themen