C#调用Web Service简单实例
本文主要实现:
- 在窗体应用程序中调用Web Service
- 在ASP.NET程序中调用Web Service
在窗体应用程序中调用Web Service
在调用Web Service之前我们首先要建立一个Web Service,Web服务的创建是通过创建ASP.NET Web服务应用程序来实现的。作为例子,下面介绍一个Web服务的创建方法。
1. 打开VS2010》文件》新建》网站,选择C#项目,选择ASP.NET Web 服务。
2. 单击确定后,创建ASP.NET Web服务应用程序MyFirstWebService,这时会出现如下图所示的界面。
3. 在编辑代码,添加两个Web服务方法:add()和sub()。
public class Service : System.Web.Services.WebService
{
public Service () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
[WebMethod]
public int add(int x, int y)
{
return x + y;
}
[WebMethod]
public int sub(int x, int y)
{
return x - y;
}
}
关键字“[WebMethod]”用于说明其后的方法为Web服务方法,如果缺少此关键字,则相应的方法对其他应用程序是不可见的。4. 执行此程序,其中http://localhost:44015/WebSite2/Service.asmx表示Web Service所在的URL地址。
5. 在解决方案中创建窗体应用程序WinAppService1,在窗体上添加三个TextBox控件、两个Button控件和两个Label控件,并适当设置它们的属性、大小和位置:
6. 右键单击解决方案,添加服务引用》高级》添加Web引用。将Web Service的URL地址复制到文本框中,点击前往箭头。
7. 点击添加引用。然后为执行加法、执行减法按钮添加代码:
private void button1_Click(object sender, EventArgs e)
{
int x, y, z;
x = Convert.ToInt16(textBox1.Text);
y = Convert.ToInt16(textBox2.Text);
localhost.Service addobj;
addobj = new localhost.Service(); //Web服务对象
z = addobj.add(x, y); //调用Web服务对象的方法
textBox3.Text = z.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
int x, y, z;
x = Convert.ToInt16(textBox1.Text);
y = Convert.ToInt16(textBox2.Text);
localhost.Service addobj;
addobj = new localhost.Service(); // Web服务对象
z = addobj.sub(x, y); //调用Web服务对象的方法
textBox3.Text = z.ToString();
}
8. 将该解决方案设置为启动项。执行改程序。——结果表示,程序WinAppService1已经成功调用了Web service: localhost。
在ASP.NET程序中调用Web服务
1. 先建立一个ASP.NET网站,然后添加引用。
2. 为执行加法、执行减法按钮编写事件处理代码,同C#窗体调用Web Service一样。
3. 结果如下,说明调用成功!