2008-11-07 14 views
6

Estoy intentando configurar un servicio WCF con múltiples puntos finales con uno de los puntos finales usando el comportamiento del punto final enableWebScript para que se cree un proxy Javascript en el cliente (jsdebug/js)WCF javascript proxy no encontrado cuando la dirección del punto final no está en blanco

Al agregar la referencia de servicio a mi AJAX ScriptManager, el archivo no se encuentra jsdebug menos que la dirección del punto final está en blanco. El proxy ScriptManager parece generar siempre un camino de "MyService.svc/jsdebug" para buscar el archivo a pesar de que mi servicio tiene una dirección de "Ajax". El proxy debe generar la ruta como "MyService.svc/ajax/jsdebug".

¿Hay un ajuste para obtener el proxy generado con el camino correcto? Mi servicio está en la raíz de mi sitio web.

obras:

<endpoint address="" 
    behaviorConfiguration="ajaxBehavior" 
    binding="webHttpBinding" 
    bindingConfiguration="webBinding" 
    contract="MyTest.Web.ICustomerService" /> 

quiero esto (no funciona):

<endpoint address="ajax" 
    behaviorConfiguration="ajaxBehavior" 
    binding="webHttpBinding" 
    bindingConfiguration="webBinding" 
    contract="MyTest.Web.ICustomerService" /> 
+0

¿cuál es su dirección base? ¿Te estás conectando en el camino correcto como www.mydomain.com/service.svc/ajax? – balexandre

+0

¿Qué configuraciones usaste para el administrador de scripts ...? – markt

Respuesta

2

<enableWebScript /> también conocidos como puntos finales habilitados para AJAX esencialmente duros códigos de todo lo relacionado con la dirección para que pueda generar el código del lado del cliente.

La forma en que es modificable es que todo es directamente relativa al archivo .svc.

Ver How to: Use Configuration to Add an ASP.NET AJAX Endpoint

El punto final se configura en una direcciones vacía relativa al archivo .svc, por lo el servicio ya está disponible y puede ser invocada mediante el envío de solicitudes a service.svc/<operation> - por ejemplo, service.svc/AddAdd para la operación.

Por esta razón, no se pueden mezclar con <enableWebScript />UriTemplate, que quita la mitad de la diversión de WCF en mi opinión. Ver enableWebScript, UriTemplate, and HTTP methods.

Personalmente, me gusta configurar mi URI y servir tanto POX y JSON, así como jabón. Ver WCF RESTful POX, JSON and SOAP Coexist.

1

En el ScriptManager, poner MyService.svc/Ajax en lugar de MyService.svc

Cuestiones relacionadas