2008-11-07 13 views
6

Próbuję skonfigurować usługę WCF z wieloma punktami końcowymi z jednym z punktów końcowych za pomocą zachowania punktu końcowego enableWebScript, aby serwer proxy JavaScript został utworzony na kliencie (jsdebug/js).Nie znaleziono proxy javascript WCF, gdy adres punktu końcowego nie jest pusty

Dodając odniesienie do usługi do mojego menedżera skryptów AJAX, plik jsdebug nie zostanie znaleziony, chyba że adres punktu końcowego jest pusty. Serwer proxy ScriptManager wydaje się zawsze generować ścieżkę "MyService.svc/jsdebug", aby wyszukać plik, mimo że moja usługa ma adres "ajax". Proxy powinno generować ścieżkę jako "MyService.svc/ajax/jsdebug".

Czy istnieje ustawienie umożliwiające wygenerowanie proxy przy użyciu właściwej ścieżki? Moja usługa leży u podstaw mojej witryny.

utwory:

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

chcą to (nie działa):

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

jaki jest Twój adres bazowy? czy łączysz się z właściwą ścieżką, na przykład www.mydomain.com/service.svc/ajax? – balexandre

+0

Jakie ustawienia wykorzystałeś dla swojego menedżera skryptów ..? – markt

Odpowiedz

2

<enableWebScript /> znany również jako AJAX obsługujących końcowych zasadniczo twarde kody wszystko zrobić z adresem, dzięki czemu można generować kod po stronie klienta.

Sposób w jaki jest zakodowany jest taki, że wszystko jest bezpośrednio związane z plikiem .svc.

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

punkt końcowy jest skonfigurowany w pustym adresowej stosunku do pliku .svc, więc usługa jest teraz dostępna i może być wywoływany przez wysyłania żądania do service.svc/<operation> - Na przykład service.svc/Add dla operacji Add.

Z tego powodu nie można mieszać <enableWebScript /> z UriTemplate, który gładzi połowa zabawy z WCF w mojej opinii. Zobacz enableWebScript, UriTemplate, and HTTP methods.

Osobiście lubię konfigurować mój identyfikator URI i obsługiwać zarówno POX, JSON, jak i SOAP. Zobacz WCF RESTful POX, JSON and SOAP Coexist.

1

W ScriptManager, umieścić MyService.svc/ajax zamiast MyService.svc

Powiązane problemy