x

开发者

c# .net

导航

net页面怎么调用WEB服务

  1 一、WebService在cs后台程序中的调用
  2   A、通过命名空间和类名直接调用
  3 
  4   示例:
  5 
  6   WebService ws = new WebService();
  7 
  8   string s = ws.HelloWorld();
  9 
 10   B、通过添加WEB引用的方式调用,首先添加WEB引用,通过URL指向WEBSERVICE,
 11 
 12   指定WEB引用名,假设为KK;
 13 
 14   示例:
 15 
 16   kk.WebService n = new kk.WebService();
 17 
 18   string ss=n.HelloWorld();
 19 
 20   二、WebService在前台页面的JS 调用方法
 21 
 22   1、首先通过下面的方法把Webservice在前台引用进来
 23 
 24 
 25   <asp:ScriptManager runat="server">  
 26   <Services> 
 27   <asp:ServiceReference Path="WebService.asmx" InlineScript="True" /> 
 28   </Services> 
 29   </asp:ScriptManager> 
 30 
 31 
 32   2、然后就可以通过JS程序进行调用,示例如下:
 33 
 34 
 35   <script type="text/jscript">  
 36   function a() 
 37   { 
 38    WebService.HelloWorld(onresult); 
 39   } 
 40   //这里的onresult是回调函数 
 41   function onresult(result) 
 42   { 
 43    alert(result); 
 44   } 
 45   function b() 
 46   { 
 47    WebService.add(1,2,onreturn) 
 48   } 
 49   function onreturn(result) 
 50   { 
 51    alert(result); 
 52   } 
 53   //下面的'context'是上下文,可以通过回到函数通过重载的方式获得; 
 54   function c() 
 55   { 
 56    WebService.div(1,1,onresultC,onerror,'context'); 
 57   } 
 58   function onresultC(res,c) 
 59   { 
 60    alert(res); 
 61    alert(c); 
 62   } 
 63   //onerror是获得异常信息的回调函数,下面给出了获得异常信息的方法 
 64   function onerror(error) 
 65   { 
 66    var a=""
 67    a=String.format("获取服务器端异常的具体类型:{0}\t\n获取详细的异常描述信息:{1}\t\n获取造成异常的:{2}\t\n获取服务器端异常的堆栈 
 68    跟踪信息:{3}\t\n获取一个布尔值,表示异常是否是由于网络连接超时造成的{4}"
 69    error.get_exceptionType(), 
 70    error.get_message(), 
 71    error.get_statusCode(), 
 72    error.get_stackTrace(), 
 73    error.get_timedOut()) 
 74    alert(a); 
 75   } 
 76   a(); 
 77   b(); 
 78   c(); 
 79   </script> 
 80 
 81 
 82 
 83   ----自写小例子---
 84 
 85 
 86   web Service---: 
 87   [WebMethod] 
 88   public string HelloWorld() { return "Hello World,wwg"; } 
 89   [WebMethod] 
 90   public int AddWwg(int a,int b) 
 91   { 
 92    return a + b; 
 93   } 
 94   exe--- 
 95   using CallWebService.localhost; //因为自己没有定义命名空间 
 96   namespace CallWebService 
 97   { 
 98    public partial class Form1 : Form 
 99    { 
100     public Form1() 
101     { 
102      InitializeComponent(); 
103     } 
104     private void button1_Click(object sender, EventArgs e) 
105     { 
106      Service serviceWwg = new Service(); 
107      int i1 = Int32.Parse(txt1.Text.ToString()); 
108      int i2 = Int32.Parse(txt2.Text.ToString()); 
109      int iResult = serviceWwg.AddWwg(i1, i2); 
110      lb1.Text = iResult.ToString(); 
111     } 
112     private void button2_Click(object sender, EventArgs e) 
113     { 
114      CallWebService.localhost.Service serviceWwg = new CallWebService.localhost.Service(); 
115      string strResult = serviceWwg.HelloWorld(); 
116      lb1.Text = strResult.ToString(); 
117     } 
118    } 
119   }

posted on 2012-04-21 15:35  开发模式  阅读(1728)  评论(0编辑  收藏  举报

x