Volver JSON envuelto en una función de devolución de llamada desde un servicio web WCF REST

StackOverflow https://stackoverflow.com/questions/1178614

Pregunta

Tengo un servicio web JSON regresar, pero ahora me gustaría modificarlo para permitir que las personas que llaman para especificar una función de devolución de llamada por lo que el rendimiento va de: JSON DATA para specifiedFunction JSON (DATA); La forma en que estoy volviendo JSON en este momento es simplemente devolviendo una instancia de un objeto y tener .NET hacer su magia serialización, si cambio al que acaban de volver de una cadena que se puede añadir el nombre de la función y los corchetes de los datos, pero luego termino con comillas en el regreso, porque es una cadena y no quiero eso. Entonces, ¿cómo puedo hacerlo?

La razón de esto es que queremos desarrolladores llamando nuestra API para poder utilizar la etiqueta script dinámico como se explica aquí http://www.xml.com/pub/a/2005/12/21/json-dynamic-script-tag.html

¿Fue útil?

Solución

La técnica se le debe su nombre a JSONP (JSON con relleno).

Como apoyar JSONP en los servicios WCF :

  

El JsonPEncoder es un codificador de envolver   en el codificador WCF JSON. delega   la mayoría de las llamadas al codificador envueltos. los   métodos WriteMesage han sido   anulado para rellenar el mensaje de salida   con el método de devolución de llamada. los   JsonBehavior se utiliza en el servicio   operación para habilitar JSONP codificación para   esa operación. El parámetro de consulta de   el URI que mantiene la devolución de llamada   nombre de la función se especifica como el   CallBack propiedad de la conducta.

Otros consejos

En WCF 4.0 Añadido soporte para JSONP. Es posible utilizar

  <bindings>
    <webHttpBinding>
      <binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true" />
    </webHttpBinding>
  </bindings>

http: //bendewey.wordpress .com / 2009/24/11 / usando-jsonp-con-WCF-y-jquery /

No sé qué versión de HTML que está utilizando, pero en todas las versiones que he utilizado, el atributo src de una etiqueta de script tiene que ser una dirección URL. De algún modo ellos están usando una función de su lugar, y no veo que el trabajo.

¿Ha visto realmente una obra etiquetas de script dinámicas?

Sé que es un hilo viejo, pero parece que todo el mundo insiste en cambiar el WCF para apoyar JSONP cuando eso no es claramente lo que pidió el cartel. Y he publicado aquí y forums.asp.net y nadie se tomó el tiempo para responder.

Terminé devolverlo como una corriente. Esto hace que el modo de "prima" para ser utilizado y WCF no tocará la respuesta. Enlace: http: / /blogs.msdn.com/b/carlosfigueira/archive/2008/04/17/wcf-raw-programming-model-web.aspx .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top