亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

用JavaScript調用WCF Service

2019-11-17 01:49:12
字體:
來源:轉載
供稿:網友

javaScript調用WCF Service

原創地址:http://www.49028c.com/jfzhu/p/4039604.html

轉載請注明出處

前面介紹過《Step by Step 創建一個WCF Service》和《使用WCF的Trace與Message Log功能》,本文介紹一下如何用Javascript來調用WCF Service。

WCF Service的代碼如下:

IHelloService.cs

using System.ServiceModel;using System.ServiceModel.Activation;using System.ServiceModel.Web;namespace HelloService{        [ServiceContract(Name = "IHelloService")]        public interface IHelloService    {        [OperationContract(Name="GetMessage")]                string GetMessage(string name);        [OperationContract]        Employee GetEmployee(int id);    }}

HelloService.cs

using System;namespace HelloService{        public class HelloService : IHelloService    {        public string GetMessage(string name)        {            return "Hello " + name;                    }        public Employee GetEmployee(int id)        {            return new Employee() { Id = id, Name="Neil Klugman", Birthdate=new DateTime(1930, 1, 31)};        }    }}

web.config文件,注意高亮部分:

<?xml version="1.0" encoding="utf-8" ?><configuration>  <system.serviceModel>    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />        <services>      <service name="HelloService.HelloService" behaviorConfiguration="metaBehavior">        <endpoint address="" binding="webHttpBinding" contract="HelloService.IHelloService" behaviorConfiguration="AjaxServiceBehavior"></endpoint>        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>        <host>          <baseAddresses>            <add baseAddress="http://localhost:8080"/>          </baseAddresses>        </host>      </service>          </services>    <behaviors>      <endpointBehaviors>        <behavior name="ajaxServiceBehavior">          <enableWebScript/>        </behavior>      </endpointBehaviors>      <serviceBehaviors>        <behavior name="metaBehavior">          <serviceDebug includeExceptionDetailInFaults="true" />          <serviceMetadata httpGetEnabled="true" />        </behavior>        <behavior name="">          <serviceMetadata httpGetEnabled="true" />          <serviceDebug includeExceptionDetailInFaults="false" />        </behavior>      </serviceBehaviors>    </behaviors>  </system.serviceModel></configuration>

創建一個客戶端web application,添加一個web form,WebForm1.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="HelloWebClient.WebForm1" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server">    <title>AJAX Service Client Page</title></head><body>    <form id="form1" runat="server">    <asp:ScriptManager ID="ScriptManager" runat="server">         <Services>             <asp:ServiceReference Path="http://192.168.6.47:8080/HelloService.svc" />         </Services>    </asp:ScriptManager>            <script lang="javascript" type="text/javascript">        function GetValueFromServer() {            var name = document.getElementById('txtValueContainer').value;            tempuri.org.IHelloService.GetMessage(name, onSuccess, onFailure, null);                    }        function onSuccess(result) {            document.getElementById('labelResult').value = result;        }        function onFailure(result) {            window.alert(result);        }    </script>    <div>        <input id="btnServiceCaller" type="button" value="Get Value" onclick="GetValueFromServer()"; />        <input id="txtValueContainer" type="text" value="" />         <input id="labelResult" type="text" value="" />    </div>    </form></body></html>

用瀏覽器打開WebForm1.aspx,使用Fiddler查看,因為代碼里有了對WCF Service的引用

<asp:ServiceReference Path="http://192.168.6.47:8080/HelloService.svc" />

所以頁面加載了JavaScript

image_thumb7

加載的JavaScript代碼為:

Type.registerNamespace('tempuri.org');tempuri.org.IHelloService = function () {    tempuri.org.IHelloService.initializeBase(this);    this._timeout = 0;    this._userContext = null;    this._succeeded = null;    this._failed = null;}tempuri.org.IHelloService.PRototype = {    _get_path: function () {        var p = this.get_path();        if (p) return p;        else return tempuri.org.IHelloService._staticInstance.get_path();    },    GetMessage: function (name, succeededCallback, failedCallback, userContext) {        /// <param name="name" type="String">System.String</param>        /// <param name="succeededCallback" type="Function" optional="true" mayBeNull="true"></param>        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>        /// <param name="userContext" optional="true" mayBeNull="true"></param>        return this._invoke(this._get_path(), 'GetMessage', false, { name: name }, succeededCallback, failedCallback, userContext);    },    GetEmployee: function (id, succeededCallback, failedCallback, userContext) {        /// <param name="id" type="Number">System.Int32</param>        /// <param name="succeededCallback" type="Function" optional="true" mayBeNull="true"></param>        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>        /// <param name="userContext" optional="true" mayBeNull="true"></param>        return this._invoke(this._get_path(), 'GetEmployee', false, { id: id }, succeededCallback, failedCallback, userContext);    }}tempuri.org.IHelloService.registerClass('tempuri.org.IHelloService', Sys.Net.WebServiceProxy);tempuri.org.IHelloService._staticInstance = new tempuri.org.IHelloService();tempuri.org.IHelloService.set_path = function (value) {    tempuri.org.IHelloService._staticInstance.set_path(value);}tempuri.org.IHelloService.get_path = function () {    /// <value type="String" mayBeNull="true">The service url.</value>    return tempuri.org.IHelloService._staticInstance.get_path();}tempuri.org.IHelloService.set_timeout = function (value) {    tempuri.org.IHelloService._staticInstance.set_timeout(value);}tempuri.org.IHelloService.get_timeout = function () {    /// <value type="Number">The service timeout.</value>    return tempuri.org.IHelloService._staticInstance.get_timeout();}tempuri.org.IHelloService.set_defaultUserContext = function (value) {    tempuri.org.IHelloService._staticInstance.set_defaultUserContext(value);}tempuri.org.IHelloService.get_defaultUserContext = function () {    /// <value mayBeNull="true">The service default user context.</value>    return tempuri.org.IHelloService._staticInstance.get_defaultUserContext();}tempuri.org.IHelloService.set_defaultSucceededCallback = function (value) {    tempuri.org.IHelloService._staticInstance.set_defaultSucceededCallback(value);}tempuri.org.IHelloService.get_defaultSucceededCallback = function () {    /// <value type="Function" mayBeNull="true">The service default succeeded callback.</value>    return tempuri.org.IHelloService._staticInstance.get_defaultSucceededCallba
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产午夜一区二区| 欧美在线视频在线播放完整版免费观看| 国产精品久久久久久久久粉嫩av| 欧美高清第一页| 久久久之久亚州精品露出| 亚洲爱爱爱爱爱| 国产香蕉一区二区三区在线视频| 亚洲free性xxxx护士hd| 日韩一中文字幕| 日韩成人在线电影网| 最新国产成人av网站网址麻豆| 欧美激情videoshd| 亚洲天堂av高清| 91色视频在线导航| 亚洲色在线视频| 亚洲精品国产精品国自产在线| 亚洲欧洲国产精品| 久久在精品线影院精品国产| 欧美日韩福利在线观看| 国产又爽又黄的激情精品视频| 一区二区三区www| 久久精品一偷一偷国产| 欧美日韩免费网站| 国产精品久久久久久一区二区| 在线视频日韩精品| 亚洲国产精久久久久久| 福利视频一区二区| 亚洲视频在线免费观看| 亚洲精品按摩视频| 欧美激情影音先锋| 久久久国产精彩视频美女艺术照福利| 久久免费视频在线| 日本亚洲欧洲色α| 91干在线观看| 久久精品国产精品亚洲| 色偷偷噜噜噜亚洲男人| 91手机视频在线观看| 国产在线精品一区免费香蕉| 日韩一区二区在线视频| 欧美福利视频在线观看| 久久精品中文字幕| 欧美性猛交xxxx富婆弯腰| 色偷偷9999www| 色天天综合狠狠色| 亚洲精品xxxx| 国产精品国模在线| 伊人av综合网| 久久综合伊人77777| 免费av在线一区| 精品中文字幕久久久久久| 欧美激情视频播放| 久久久人成影片一区二区三区| 欧美精品久久久久久久免费观看| 亚洲色图美腿丝袜| 最近2019年手机中文字幕| 一区二区三区 在线观看视| 久久国产精品免费视频| 欧美性精品220| 欧美日韩国产黄| 欧美成人免费大片| 国产精品三级网站| 岛国av在线不卡| 日本国产精品视频| 91久久精品国产91性色| 欧美在线视频在线播放完整版免费观看| 久久久av一区| 在线观看日韩专区| 美女av一区二区| 亚洲午夜久久久影院| 精品国产欧美成人夜夜嗨| 国产免费亚洲高清| 欧美大片网站在线观看| 亚洲自拍偷拍福利| 久久久国产精品一区| 亚洲精品456在线播放狼人| 国产精品高清网站| 成人免费观看网址| 亚洲精品美女久久久| 777精品视频| 亚洲一区二区三区久久| 成人黄色在线播放| 欧美激情精品久久久久久蜜臀| 精品毛片网大全| 国产精品久久久久久久一区探花| 日韩国产欧美精品一区二区三区| 亚洲精品久久久久中文字幕欢迎你| 日韩二区三区在线| 少妇高潮 亚洲精品| 精品视频久久久久久久| 亚洲男人天堂网| 成人激情综合网| 成人激情视频免费在线| 亚洲精品av在线| 日韩有码在线电影| 91精品久久久久久| 日日狠狠久久偷偷四色综合免费| 精品国偷自产在线| 91九色蝌蚪国产| 欧美日韩亚洲视频| 久久夜精品香蕉| 在线观看欧美日韩国产| 欧美成人精品一区二区三区| 欧美电影在线免费观看网站| 欧美壮男野外gaytube| 免费91在线视频| 日韩欧美亚洲成人| 国产精品久久久久7777婷婷| 日韩电影第一页| 国产主播在线一区| 欧美日韩精品二区| 国产精品极品美女在线观看免费| 亚洲福利在线观看| 亚洲三级 欧美三级| 欧美在线影院在线视频| 久久久久久久久网站| 黑人巨大精品欧美一区二区三区| 久久久国产精品亚洲一区| 欧美—级a级欧美特级ar全黄| 亚洲国产高清福利视频| 国产噜噜噜噜噜久久久久久久久| 91久久精品美女| 国产精品丝袜一区二区三区| 91a在线视频| 国产91精品黑色丝袜高跟鞋| 日韩av在线直播| 成人免费大片黄在线播放| 亚洲精品小视频| 一本久久综合亚洲鲁鲁| 国产一区二区久久精品| 热草久综合在线| 亚洲精品动漫久久久久| 国产精品爽黄69天堂a| 亚洲福利在线看| 国产脚交av在线一区二区| 亚洲国产天堂网精品网站| 国产a级全部精品| 精品国产鲁一鲁一区二区张丽| 欧美日韩电影在线观看| 日韩av一区在线| 国产ts人妖一区二区三区| 欧美日韩xxx| 亚洲精品国产综合区久久久久久久| 午夜美女久久久久爽久久| 91九色单男在线观看| 91高清免费视频| 一区二区三区无码高清视频| 欧日韩不卡在线视频| 欧美www视频在线观看| 成人午夜激情网| 亚洲人成电影在线播放| 亚洲欧美国内爽妇网| 久久精品99国产精品酒店日本| 97国产精品久久| 国产一区二区三区在线免费观看| 俺也去精品视频在线观看| 国产精品96久久久久久| 人人爽久久涩噜噜噜网站| 国产精品久久综合av爱欲tv| 欧美一级高清免费| 91美女福利视频高清| 国产欧美最新羞羞视频在线观看| 久久99热精品| 高潮白浆女日韩av免费看| 国产精品久久综合av爱欲tv|