Estoy desarrollando algunos servicios RESTful en WCF 4.0. Tengo un método de la siguiente manera:Parámetros de cadenas de consulta opcionales en URITemplate en WCF?
[OperationContract]
[WebGet(UriTemplate = "Test?format=XML&records={records}", ResponseFormat=WebMessageFormat.Xml)]
public string TestXml(string records)
{
return "Hello XML";
}
Así que si navego navegador para http://localhost:8000/Service/Test?format=XML&records=10, entonces todo funciona como exepcted.
SIN EMBARGO, deseo poder navegar a http://localhost:8000/Service/Test?format=XML y dejar fuera de la "& records = 10" parte de la URL. Pero ahora, recibo un error de servicio ya que el URI no coincide con la plantilla de URI esperada.
Entonces, ¿cómo implemento los valores predeterminados para algunos de mis parámetros de cadena de consulta? Quiero establecer los "registros" por defecto a 10, por ejemplo, si esa parte se deja fuera de la cadena de consulta.
Así que parece funcionar bien. Sin embargo, si trato de ejecutar la prueba de unidad en contra de esto, ya no funciona, ya que una prueba de unidad no tiene un WebOperationContext. Busqué algunos ejemplos, pero ¿alguien tiene un ejemplo simple de cómo burlarse del WebOperationContext? – Shafique
Prueba Google "simulando WebOperationContext". Hay muchas ideas diferentes sobre cómo hacer esto. – luksan
¡Dale al hombre un +1, su solución funciona! Aquí, voy a comenzar. – EdgarVerona