2008-11-07 60 views
6

我想安裝與使用enableWebScript端點行爲的一個端點的多個端點一個WCF服務,這樣一個JavaScript代理將在客戶端上創建(jsdebug/JS )。WCF JavaScript代理時端點地址不爲空找不到

當添加的服務參考我的AJAX ScriptManager的,該jsdebug文件找不到,除非端點的地址是空白。即使我的服務的地址爲「ajax」,ScriptManager代理似乎總是生成一個「MyService.svc/jsdebug」路徑來查找該文件。代理應該生成「MyService.svc/ajax/jsdebug」的路徑。

是否有設定來取得與正確的道路所產生的代理?我的服務位於我的網站的根部。

作品:

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

希望這(不工作):

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

你有什麼基址?你是否連接到像www.mydomain.com/service.svc/ajax這樣的正確路徑? – balexandre 2009-01-28 16:35:29

回答

2

<enableWebScript />也被稱爲AJAX的端點基本上硬編碼一切與地址,以便您可以生成客戶端代碼。

這是硬編碼的方式是,一切都是直接相對.svc文件。

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

端點被配置成在空 地址相一至.svc文件,所以 服務現在可用,並且可以通過 將請求發送到 service.svc/<operation>調用 - 例如, service.svc/AddAdd操作。

因此,您不能混合<enableWebScript />UriTemplate,這在我看來帶走了WCF的一半樂趣。見enableWebScript, UriTemplate, and HTTP methods

就個人而言,我喜歡我的配置URI和服務都POX和JSON,以及SOAP。請參閱WCF RESTful POX, JSON and SOAP Coexist

1

在ScriptManager的,把MyService.svc/AJAX,而不是MyService.svc