C#创建、部署和调用 WebService
编辑C#创建、部署和调用 WebService
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序。可以用于分布式应用程序之间的交互,和不同程序之间的交互。一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
本文基于 Visual Studio 2015 创建了一个简单的 WebService,并通过部署,调用来了解 WebService 开发的整个过程 。
1.WebService创建
首先创建一个空的Web应用程序
然后鼠标右键点击项目名,选择 添加
-> 新建项
。
添加新项 -> Web服务(ASMX)
接下来就可以编写接口了,在添加的 WebServiceTest.asmx
代码中添加两个简单方法。
public class WebServiceTest : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod(Description ="加法运算")]
public int Add(string a,string b)
{
int sum = 0;
sum = Convert.ToInt32(a) + Convert.ToInt32(b);
return sum;
}
[WebMethod(Description ="乘法运算")]
public int Ride(string a,string b)
{
int ride = 0;
ride = Convert.ToInt32(a) * Convert.ToInt32(b);
return ride;
}
}
注意:HelloWorld方法是自动创建的,后面 Add 和 Ride 是添加的两个方法。如果方法需要通过webservice的地址进行调用,那就必须在方法上面打上 [WebMethod] 的特性标签,否则是无法通过webservice访问到的。Description 是方法的描述。
运行 或 右键 WebServiceTest.asmx
,选择 在浏览器查看 ,就可以看到接口方法了。
访问 WebService 就可以根据地址栏里的地址进行调用 WebService 方法了.
但是这样并不能让其他应用通过网络去访问我们的 WebService ,这就需要部署我们的WebService到服务器,别人才可通过网络调用。
2.WebService部署
接下来,部署 WebService 到本机,部署到服务器和部署到本机也是一样的。 右键项目名,选择 发布
这里选择自定义,然后填写配置文件名称
确定后,我们选择发布的方式为文件系统,填写要发布到本地的路径。
设置不需要改动,下一步点击发布。 在输出可以看到,我们的 WebService 已成功发布到指定的目录了。
注意:网站部署需要用到 IIS,而我这里是已经开启的,如果没有开启的话,可以通过 开始菜单 > 控制面板 > 程序 > 启用或关闭 windows 功能 开启。开启后再进行发布。
3.WebService调用
下面创建一个简单的程序,调用我们的WebService。 在解决方案中创建一个 winform 程序,然后添加两个输入框和两个按钮。
然后在winform程序中,右键 引用
-> 添加服务引用
->高级
然后点击下方添加Web引用
然后选择此解决方案中的 Web 服务
选中我们的 WebService ,点击 添加引用
引用添加完成,开始在我们代码中调用 WebService
示例代码 求和按钮点击事件:
private void Addbutton_Click(object sender, EventArgs e)
{
//获取输入框内容
string num1 = this.textBox1.Text;
string num2 = this.textBox2.Text;
Service.WebServiceTest webservice = new Service.WebServiceTest();
int sum = webservice.Add(num1, num2);
MessageBox.Show(num1 + "+" + num2 + "=" + sum);
}
然后将 winform 程序设为启动项目,点击运行,结果如下:
求积按钮点击事件:
private void Ridebutton_Click(object sender, EventArgs e)
{
//获取输入框内容
string num1 = this.textBox1.Text;
string num2 = this.textBox2.Text;
Service.WebServiceTest webservice = new Service.WebServiceTest();
int sum = webservice.Ride(num1, num2);
MessageBox.Show(num1 + "×" + num2 + "=" + sum);
}
运行结果:
注意:此示例只是在本地简单创建,部署和调用了 WebService ,发布到服务器,需要在 IIS 管理器 中添加网站,配置 IP 地址和端口,再将在本地发布的文件拷贝到服务器上即可。
- 3
- 0
-
分享