Ich verwende Web-API 2 und erhalte die folgende Fehlermeldung, wenn ich einen POST mit IIS 7.5 auf meiner lokalen Box an meine API-Methode sende.
The inline constraint resolver of type 'DefaultInlineConstraintResolver' was unable to resolve the following inline constraint: 'string'.
Line 21: GlobalConfiguration.Configuration.EnsureInitialized();
Keine meiner APIs funktioniert mit IIS. Ich kann mein API-Projekt jedoch in Visual Studio mit IIS Express ausführen und erfolgreich einen POST für meine Anmelde-API durchführen. Wenn ich jedoch versuche, eine GET-Anforderung an einen anderen API-Aufruf zu senden, wird der Fehler beim Auflösen von Einschränkungen angezeigt.
Um dies zu beheben, habe ich in Visual Studio ein brandneues Web-API-2-Projekt erstellt und die vorhandenen APIs einzeln in das neue Projekt importiert und ausgeführt, um sicherzustellen, dass sie funktionieren. Wenn ich IIS Express mit diesem neuen Projekt verwende, erhalte ich genau die gleichen Ergebnisse wie mit meinem vorhandenen API-Projekt.
Was fehlt mir hier? Selbst mit einem brandneuen Projekt bin ich nicht in der Lage, GET-Anfragen zu stellen, ohne auf dieses Problem mit dem Constraint Resolver zu stoßen.
string
keine Einschränkung angewendet werden kann.Eine weitere Sache, wenn Sie int, bool oder eine andere Einschränkung nicht verwenden können, ist dies von entscheidender Bedeutung und Sie müssen alle Leerzeichen entfernen.
quelle
trim()
diese nach dem Teilen und vor dem Vergleichen haben ... Das Nicht-Trimmen von Saiten, die als Schlüssel verwendet werden, ist ein großer Ärger von mir, der bis in meine FoxPro-Tage zurückreicht.Ich habe diesen Fehler auch erhalten, als ich ein Leerzeichen zwischen dem Variablennamen und dem Variablentyp in der Route gelassen habe, wie folgt:
Es sollte folgendes sein:
quelle
Ich habe eine API-Route für eine Undo-Web-API-Methode entworfen und versucht, die Überprüfung des ENUM-Datentyps auf die Aktion in der Route anzuwenden. Dabei ist der Fehler DefaultInlineConstrainResolver aufgetreten
Um die ENUM-Einschränkung anzuwenden, müssen Sie
OrderCorrectionEnumRouteConstraint
mithilfe von benutzerdefinierte Elemente erstellenIHttpRouteConstraint
.Referenz (Dies ist mein Blog): https://rajeevdotnet.blogspot.com/2018/08/web-api-systeminvalidoperationexception.html für weitere Details
quelle
Ich habe diesen Fehler erhalten, wenn Type als Zeichenfolge deklariert wurde. Als ich das in int änderte, fing es an zu funktionieren
quelle