2008-11-07 10 views
6

Je tente d'installer un service WCF avec plusieurs points de terminaison avec l'un des points de terminaison en utilisant le comportement de point de terminaison enableWebScript afin qu'un proxy Javascript soit créé sur le client (jsdebug/js).proxy WCF javascript non trouvé lorsque l'adresse de point de terminaison n'est pas vide

Lors de l'ajout de la référence de service à mon script AJAX ScriptManager, le fichier jsdebug est introuvable à moins que l'adresse du point de terminaison soit vide. Le proxy ScriptManager semble toujours générer un chemin de "MyService.svc/jsdebug" pour rechercher le fichier même si mon service a une adresse "ajax". Le proxy doit générer le chemin "MyService.svc/ajax/jsdebug".

Existe-t-il un paramètre pour obtenir le proxy généré avec le bon chemin? Mon service est à la racine de mon site web.

œuvres:

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

veux que ce (ne fonctionne pas):

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

Quelle est votre adresse de base? vous connectez-vous dans le bon chemin comme www.mydomain.com/service.svc/ajax? – balexandre

+0

Quels paramètres avez-vous utilisés pour votre gestionnaire de scripts ..? – markt

Répondre

2

<enableWebScript /> également connu en tant que paramètres AJAX essentiellement tout code en dur à voir avec adresse afin de pouvoir générer le code côté client.

La façon dont il est codé en dur est que tout est directement relatif au fichier .svc.

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

Le critère d'évaluation est configuré à un vide adresse relative au fichier .svc, donc le service est maintenant disponible et peut être invoqué en envoyant des requêtes à service.svc/<operation> - par exemple, Pour l'opération Add.

Pour cette raison, vous ne pouvez pas mélanger <enableWebScript /> avec UriTemplate, qui enlève la moitié du plaisir de WCF à mon avis. Voir enableWebScript, UriTemplate, and HTTP methods.

Personnellement, j'aime configurer mon URI et servir à la fois POX et JSON, ainsi que SOAP. Voir WCF RESTful POX, JSON and SOAP Coexist.

1

Dans le ScriptManager, placez MyService.svc/ajax au lieu de MyService.svc

Questions connexes