簡體   English   中英

當端點地址不為空時,找不到WCF javascript代理

[英]WCF javascript proxy not found when endpoint address is not blank

我正在嘗試使用enableWebScript端點行為設置具有多個端點的WCF服務,其中一個端點將在客戶端上創建Javascript代理(jsdebug / js)。

將服務引用添加到我的AJAX ScriptManager時,除非端點的地址為空,否則找不到jsdebug文件。 ScriptManager代理似乎總是生成一個“MyService.svc / jsdebug”路徑來查找該文件,即使我的服務的地址為“ajax”。 代理應該生成“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" />

<enableWebScript />也稱為支持AJAX的端點,實質上是硬編碼與地址有關的所有內容,因此您可以生成客戶端代碼。

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

請參見如何:使用配置添加ASP.NET AJAX端點

端點配置為相對於.svc文件的空地址,因此該服務現在可用,可以通過向service.svc/<operation>發送請求來調用 - 例如, service.svc/Add用於Add操作。

出於這個原因,你不能將<enableWebScript />UriTemplate混合使用,在我看來,這會帶走WCF的一半樂趣。 請參閱enableWebScript,UriTemplate和HTTP方法

就個人而言,我喜歡配置我的URI並同時提供POX和JSON,以及SOAP。 請參閱WCF RESTful POX,JSON和SOAP Coexist

在ScriptManager中,輸入MyService.svc / ajax而不是MyService.svc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM