Estoy usando Web API 2 y obtengo el siguiente error cuando envío una POST a mi método API usando IIS 7.5 en mi casilla local.
The inline constraint resolver of type 'DefaultInlineConstraintResolver' was unable to resolve the following inline constraint: 'string'.
Line 21: GlobalConfiguration.Configuration.EnsureInitialized();
Ninguna de mis API funciona con IIS. Sin embargo, puedo ejecutar mi proyecto de API en Visual Studio usando IIS Express y realizar con éxito una POST en mi API de inicio de sesión, pero cuando intento realizar una solicitud GET a otra llamada de API, aparece el error de resolución de restricciones.
Para solucionar este problema, creé un nuevo proyecto de Web API 2 en Visual Studio y comencé a importar las API existentes en el nuevo proyecto de una en una y las ejecuté para garantizar que funcionaran. Al usar IIS Express con este nuevo proyecto, obtengo los mismos resultados exactos que obtuve con mi proyecto API existente.
¿Que me estoy perdiendo aqui? Incluso con un proyecto nuevo, no puedo hacer solicitudes GET sin encontrarme con este problema de resolución de restricciones.
string
no se puede aplicar ninguna restricción.Una cosa más si no puede usar int, bool o cualquier otra restricción es clave sensible y necesita eliminar los espacios en blanco.
fuente
trim()
después de dividirse y antes de hacer una comparación ... No recortar cadenas usadas como llaves es una de las principales preocupaciones mías que se remontan a mis días de FoxPro.También recibí este error cuando dejé un espacio entre el nombre de la variable y el tipo de variable en la ruta, así:
Debería ser lo siguiente:
fuente
Diseñé una ruta API para un método Deshacer API web y traté de aplicar la validación de tipo de datos ENUM en la acción en la ruta y encontré a continuación Error DefaultInlineConstrainResolver
Para aplicar la restricción ENUM, tiene que crear personalizado
OrderCorrectionEnumRouteConstraint
utilizandoIHttpRouteConstraint
.Referencia (Este es mi blog): https://rajeevdotnet.blogspot.com/2018/08/web-api-systeminvalidoperationexception.html para más detalles
fuente
Obtuve este error cuando Type como declarado como cadena. Cuando cambié eso a int, comenzó a funcionar
fuente