国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

學習調用WCF服務的各種方法

2019-11-14 13:45:59
字體:
來源:轉載
供稿:網友

1.開發工具調用WCF

這中方法很方便也很簡單,很多工作VS就幫我們完成了。相信大家也不會對這種方法陌生。這里簡單提一下。打開VS,在項目中添加服務引用: 在config中自動聲明了有關服務的節點信息,這樣VS就創建了調用服務的代理:

ServiceReference1.Service1Client poxy = new ServiceReference1.Service1Client(); poxy.服務中相應的方法。

2.C#動態調用WCF

這個方法比較實用,可以通過工具或代碼生成代理類generatedProxy.cs和配置文件app.config,來和WCF進行交互。不需要人為的手動進行服務的引用。生成代理類 

vs工具中:

工具--svcutil:
參數: /language:cs /out:generatedProxy.cs /config:app.config http://localhost:9002/Service1.svc

 有了這個代理類,工作就好做啦!通過這個代理類就可以調用WCF了。

這樣,如果多個服務的方法相同,只是address不同(分布在不同的服務器)。這樣的調用是很不錯的選擇! 除此之外,我們可以采用通道工廠的方式生成客戶端服務對象實例,但是前提還是需要上面生成的代理類的幫助。大家可以參看大牛Robin的文章(下面有鏈接)。

3.JS(jQuery)調用WCF

這里實現的思想和asp.net Ajax的有些類似,只不過有一些工作需要我們自己來完成,并且這個方法很靈活。 首先是WCF上:我們要在類和方法前進行如下的聲明:

[ServiceContract(Namespace = "")]    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]    public class WCFservice    {        [OperationContract]        [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]        public string SayHello(string name)        {            return "hello:"+name;        }    }

接著就是配置文件

<system.serviceModel>    <behaviors>      <endpointBehaviors>        <behavior name="AllenBehavior">          <enableWebScript />        </behavior>      </endpointBehaviors>    </behaviors>    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />    <services>      <service name="jqueryWCF.WCFservice">        <endpoint address="" behaviorConfiguration="AllenBehavior" binding="webHttpBinding" contract="jqueryWCF.WCFservice" />      </service>    </services>  </system.serviceModel>

<behavior name="AllenBehavior"><enableWebScript /></behavior>

準備工作做好后就可以前臺調用了:

<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">    <title>wcf</title><script language="javascript" type="text/Javascript" src="jquery.js"></script><script language="javascript" type="text/javascript">function sayhello(){    var name = $("#name").val();    $.ajax({        type: 'post',        url: '/WCFservice.svc/SayHello',        contentType: 'text/json',        data: '{"name":"'+name+'"}',        success: function(msg) {        var a = eval('('+msg+')');        if(String(a.d).length>0){alert(a.d);}        else{alert("服務器超時");}        }    });    }</script><style type="text/CSS">#content{height: 181px;width: 549px;}#title{width: 544px;}    </style></head><body>    <form id="form1" runat="server">    <div>        name:<input type="text" id="name" />        <br />    <input type="button"  value="hello" onclick="sayhello();" />    </div>    </form></body></html>

這里的一些注意事項大家可以但看dudu的文章(下面有鏈接)。這樣,我們就可以利用jQuery調用wcf了。


參考學習資料:
Robin:http://www.survivalescaperooms.com/jillzhang/archive/2008/07/26/1252171.html
dudu:http://www.survivalescaperooms.com/dudu/archive/2009/07/14/1523082.html
liulun:http://www.survivalescaperooms.com/liulun/articles/1425382.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿鲁科尔沁旗| 青川县| 阜南县| 民和| 安丘市| 孝感市| 漳平市| 夏津县| 顺平县| 灵川县| 治县。| 蛟河市| 刚察县| 肃宁县| 澄迈县| 洛扎县| 贞丰县| 西安市| 墨脱县| 威信县| 建始县| 延津县| 尚义县| 怀宁县| 离岛区| 长武县| 娄烦县| 汝州市| 乐亭县| 威信县| 砚山县| 大厂| 石景山区| 寿光市| 建平县| 津南区| 屏山县| 定远县| 青岛市| 普兰县| 巫山县|