He probado el siguiente código:¿Puedo usar un objeto en UriTemplate?
[OperationContract]
[WebInvoke(UriTemplate="/Users/Register/{user}")]
void Register(User user);
Pero cuando trato de ejecutar esto, me dice que el UriTemplate sólo debe contener cadenas. ¿Qué pasa si necesito pasar un objeto a mi método como en este caso, un objeto de usuario a mi método de registro.
Si cambio el atributo WebInvoke a:
[WebInvoke(UriTemplate="/Users/Register/")]
El browswer muestra el error Method not allow
cuando intento navegar a http://localhost:8000/Users/Register por ejemplo
Gracias, ¿Pueden explicar lo que quieren decir con parte de la solicitud POST? De hecho, probé lo que mencionaste antes, es solo tener/Users/Register en mi UriTemplate, pero luego cuando navegué a http: // localhost: 8000/Users/Register, dijo Method no permitido. – Xaisoft
¿A qué te refieres cuando dices que "navegaste" hacia la URL? Usted acaba de golpearlo en un navegador? Si es así, eso hizo una solicitud GET que no está permitida cuando usa el atributo [WebInvoke] (necesita usar [WebGet] para eso). [WebInvoke] es para POST/PUT/DELETE (verá que especifiqué "POST") en mi ejemplo de código anterior. echa un vistazo: http://www.pluralsight-training.net/microsoft/olt/howtovideos.aspx?category=WCF%20REST –
oh duh, tienes razón al respecto. La base de todo esto es que un usuario irá a una página de registro, completará algunos campos y se registrará. La parte de Registro será manejada por un POST. Probablemente pueda manejar eso con un clic de botón, ¿verdad? Pero, ¿qué es para evitar que alguien vaya a http: // localhost: 8000/Users/Register? – Xaisoft