C# webservice调用方法总结

C# webservice调用方法总结

、C Sharp| 2009-11-03 11:02:32 阅读252 评论0 字号:大中

一、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();
        }
    }
}

posted @ 2010-03-05 08:44  林强  阅读(406)  评论(0编辑  收藏  举报