1.创建一个最简单的Web Service
(1) 新建-项目-ASP.NET空WEB应用程序
(2)添加新项-WEB服务
默认会添加一个HelloWorld方法:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace MyNetWebService { /// <summary> /// MyWebService 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] public class MyWebService : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } } }
右击在浏览器中查看:
可以接着点击HelloWorld方法->点击调用。
2.WebService 调用
2.1调用webserivice 最简单的方法就是在 "引用" 那里点击右键,然后选择"引用web服务",再输入服务地址。
确定后,会生成一个app.config 里面就会自动生成了一些配置信息。
用ASP.NET调用Web Service
新建网站后 右击添加新项 发现VS2014没有”添加WEB引用“项,几经周折发现在”添加服务引用“—>”高级“—>”添加WEB引用“
在URL中填入,前面写好的WebService运行后浏览器上面显示的地址,点击“前往”按钮,如上图,就会显示出所引用的WebService中可以调用的方法,然后点击“添加引用”,就将webservice引用到了当前的工程里面 ,如下图,解决方案中会出现引进来的WebService文件
在此练习调用webservice的HelloWorld方法:在前台添加两个控件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CallWebService.aspx.cs" Inherits="CallWebService" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>"引用web服务"方式调用WebService</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="show" runat="server" ></asp:Label> <asp:Button ID="btn" runat="server" Text="Show" OnClick="btn_Click" /> </div> </form> </body> </html>
在后台写调用WebService的代码,调用之前和使用其他的对象一样,先要实例化。运行后看到显示效果,而整个过程并不是在本地进行的,是在Web服务端进行计算然后将结果通过XML返还还给调用方法的,所以,在运行该程序的时候,WebService程序还必须启动,否则会报无法连接远程服务器的异常。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class CallWebService : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btn_Click(object sender, EventArgs e) { //实例化WebService对象 NetWebService.MyWebService webservice = new NetWebService.MyWebService(); //通过实例化的webservice对象来调用Webservice暴露的方法 show.Text = webservice.HelloWorld(); } }