天天看點

C# webservice 調用方法總結

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

       }

    }

}

繼續閱讀