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