C# webservice 调用方法总结

来源:互联网 发布:信捷plc的编程方法 编辑:程序博客网 时间:2024/05/23 01:05

一、WebService在cs后台程序中的调用

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

         示例:       

                 WebService ws = newWebService();

                 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:ServiceReferencePath="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 = newCallWebService.localhost.Service();

           string strResult = serviceWwg.HelloWorld();

           lb1.Text = strResult.ToString();

       }

    }

}

0 0