WCF調(diào)用特殊方式介紹
大家知道,在.NET中可以進(jìn)行WCF調(diào)用的操作。但是.NET之外的程序在開(kāi)發(fā)的時(shí)候可以實(shí)現(xiàn)WCF調(diào)用嗎?在這里就為大加介紹幾種.NET程序之外的實(shí)現(xiàn)方式。#t#
下面以jQuery的AJAX調(diào)用為例,并說(shuō)說(shuō)WCF調(diào)用時(shí)需要注意的
- < script type="text/javascript">
- $("#execute").bind("click",
function() { - $.ajax({
- url: "http://localhost:XXXX
/Calculator.svc/Subtract", - data: "x=1&y=2",
- //data:'{"x":10,"y":200}',
//FOR type:"post" - type: "get",
- dataType:"json",
- contentType: "application/json",
- success: function(result) {
- alert(result.d);
- }
- });
- });
- < /script>
這里可以沒(méi)有dataType,但不能沒(méi)有contentType,因?yàn)椴患觕ontentType,會(huì)報(bào)錯(cuò),而還要加dataType:"json"的原因是使返回的結(jié)果為json格式,不加的話(huà)是字符串。
使用get方式,data的數(shù)據(jù)格式和平時(shí)一樣;而post方式,data默認(rèn)是JSON格式。
(PS:{"x":10,"y":200},x與y引號(hào)是必須的,這點(diǎn)和調(diào)用web服務(wù)有點(diǎn)不同)
WCF調(diào)用設(shè)置需要注意的地方:
一:在.svc文件加上Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory" 屬性,不加會(huì)報(bào)錯(cuò),至于為什么,這句是什么意思,目前我不懂,呵呵,接下來(lái)繼續(xù)學(xué)。
二:web.config的設(shè)置,
- < endpoint
- address=""
- binding="webHttpBinding"
- contract="WcfService.
ICalculator"/>
注意binding的值,是"webHttpBinding",我添加服務(wù)時(shí),它是"wsHttpBinding"
以上就是WCF調(diào)用的相關(guān)技巧介紹。