Dot*_*ude 5 asp.net ajax wcf jquery .net-4.0
WebInvoke
在Operation契约上使用
属性)webHttp
在服务主机上添加绑定使服务成为RESTful,主机是否也可以拥有其他端点?(wsHttp
或netTcp
)aspNetCompatibilityEnabled
(并且可以此设置共存其他端点)设置为true有webHttp绑定服务ScriptManager
在客户端上进行WCF调用.我为什么要使用一个而不是另一个?答案
不会
。AJAX 通常用于发送简单的 HTTP GET(“REST”)请求。事实并非一定如此。您还可以使用 SOAP 信封格式化有效负载,并将其 POST 到端点。wsHttp
在这种情况下,WCF 服务至少必须是basicHttpBinding。下面是使用 VBScript 创建和发送 SOAP 请求的示例,但您也可以在 Javascript 中执行相同的操作。您无法使用更高级的 SOAP 扩展,例如 WS-Security、XML DigSig 等。好吧,你可以,但这是不切实际的。例如,我不知道 Javascript 中有任何 XML 规范化库,而这对于进行 WS-Security 或数字签名至关重要。类似的障碍还有17个。结果:从 Javascript 调用时无法使用更高级的 SOAP 扩展。
。
如果您使用 jQuery ajax,则需要使用beforeSend
ajax 请求上的回调来设置 SOAPAction 标头。
。
话虽如此,在 Javascript 程序中处理 json 比遍历 XML 文档的 DOM 容易得多。换句话说,从 Javascript 连接到 WCF 时,最好使用 JSON/REST,而不是 SOAP。我想有时这不是一个选择。
是
WCF 服务可以有多个端点,并且它们可以侦听相同或不同的传输,例如 HTTP、net.tcp、net.pipe 或 net.msmq。
不会。 aspNetCompatibilityEnabled
只是在服务器上启用一些类似 ASMX 的功能。它影响服务的设计方式,并且独立于消息签名。它确实排除了非 HTTP 协议的使用。有关更多信息,请参阅董文龙的文章。
至于在客户端使用哪个框架 - 哪个更容易?我没有使用 ScriptManager 的经验,但决策标准非常简单。jQuery 工作得很好,如果您已经使用 jQuery,那么它是合适的。如果您没有或不需要 jQuery,则可以使用 XmlHttpRequest 发送 SOAP 或 REST 请求。如果这些不合适,请使用其他东西。
归档时间: |
|
查看次数: |
1448 次 |
最近记录: |