分享

调用WebService的几种方法

 shymi 2010-09-20
一、WebService在cs后台程序中的调用

  A、通过命名空间和类名直接调用

  示例:

  WebService ws = new WebService();

  string s = ws.HelloWorld();

  B、通过添加WEB引用的方式调用,首先添加WEB引用,通过URL指向WEBSERVICE,

  指定WEB引用名,假设为KK;

  示例:

  kk.WebService n = new kk.WebService();

  string ss=n.HelloWorld();

  二、WebService在前台页面的JS 调用方法

  1、首先通过下面的方法把Webservice在前台引用进来

  <asp:ScriptManager runat="server">

  <Services>

  <asp:ServiceReference Path="WebService.asmx" InlineScript="True" />

  </Services>

  </asp:ScriptManager>

  2、然后就可以通过JS程序进行调用,示例如下:

  <script type="text/jscript">

  function a()

  {

  WebService.HelloWorld(onresult);

  }

  //这里的onresult是回调函数

  function onresult(result)

  {

  alert(result);

  }

  function b()

  {

  WebService.add(1,2,onreturn)

  }

  function onreturn(result)

  {

  alert(result);

  }

  //下面的'context'是上下文,可以通过回到函数通过重载的方式获得;

  function c()

  {

  WebService.div(1,1,onresultC,onerror,'context');

  }

  function onresultC(res,c)

  {

  alert(res);

  alert(c);

  }

  //onerror是获得异常信息的回调函数,下面给出了获得异常信息的方法

  function onerror(error)

  {

  var a="";

  a=String.format("获取服务器端异常的具体类型:{0}\t\n获取详细的异常描述信息:{1}\t\n获取造成异常的:{2}\t\n获取服务器端异常的堆栈

  跟踪信息:{3}\t\n获取一个布尔值,表示异常是否是由于网络连接超时造成的{4}",

  error.get_exceptionType(),

  error.get_message(),

  error.get_statusCode(),

  error.get_stackTrace(),

  error.get_timedOut())

  alert(a);

  }

  a();

  b();

  c();

  </script>

  ----自写小例子---

  web Service---:

  [WebMethod]

  public string HelloWorld() {

  return "Hello World,wwg";

  }

  [WebMethod]

  public int AddWwg(int a,int b)

  {

  return a + b;

  }

  exe---

  using CallWebService.localhost;   //因为自己没有定义命名空间

  namespace CallWebService

  {

  public partial class Form1 : Form

  {

  public Form1()

  {

  InitializeComponent();

  }

  private void button1_Click(object sender, EventArgs e)

  {

  Service serviceWwg = new Service();

  int i1 = Int32.Parse(txt1.Text.ToString());

  int i2 = Int32.Parse(txt2.Text.ToString());

  int iResult = serviceWwg.AddWwg(i1, i2);

  lb1.Text = iResult.ToString();

  }

  private void button2_Click(object sender, EventArgs e)

  {

  CallWebService.localhost.Service serviceWwg = new CallWebService.localhost.Service();

  string strResult = serviceWwg.HelloWorld();

  lb1.Text = strResult.ToString();

  }

  }

  }

【责编:coco】

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多