[英]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文件。
端點配置為相對於.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.