.net 调用webservice接口

时间:2024-03-16 19:23:23

1.调用已有webservice,实现天气查询

2.创建一个简单的webservice,实现服务接口调用

  因为两个实例在一个项目中呈现的,就综合一点来记录,为以后自己需要用时做准备。

  首先,来看下项目的目录结构

.net 调用webservice接口

 

 

 

 

 

 

 

 

 

 

 

 

  对于初学者来说,在vs2012环境中,大家有可能不知道Web References文件夹是如何来的,它是通过右击项目,选择其中的”添加服务引用“,如图所示:

.net 调用webservice接口

  之后,得到”添加服务引用“的页面,我也把图截了下来,如图:

  .net 调用webservice接口

  再选择”高级“按钮,进入下图.net 调用webservice接口

  根据上图的指示,在URL这栏输入互联网上公开的WebServices(http://www.webxml.com.cn/WebServices/WeatherWebService.asmx)来实现天气预报。这样就可以通过代码来获取用户输入城市的天气了。实现的效果图如下:

.net 调用webservice接口

  通过点击按钮,系统会输出用户所填城市的天气信息。后台代码如下:

  

.net 调用webservice接口View Code

 

  这样,通过调用已有的天气接口,就可以实现城市天气的查询了。

  下面,我们再来说说,如何自己创建webservice,通过它来实现一些功能,首先,我们选中一个项目,右击新建一个“Web服务”,如下图所示:

.net 调用webservice接口

  完成创建以后,就会在项目文件中出现“Service.asmx”文件,我们在Service.asmx.cx中添加一个简单的求和方法,代码如下:

.net 调用webservice接口
.net 调用webservice接口
namespace Web_Service
{
    /// <summary>
    /// WebService1 的摘要说明
    /// </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 WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod]
        public int GetSum(int a,int b)
        {
            return a+b;
        }

    }
}
.net 调用webservice接口

  那么,我们怎么在其它项目中调用这个方法呢,其实这和刚才我们所说的,调用天气的webservice是一个道理,首先,通过添加“web服务引用”将,你写的webservice引用进来,我们需要注意的是其中有一处要我们填写请求webservice的URL地址,我们该怎么写?其实呢,也很简单,就是,你将Service.asms在浏览器中浏览的地址,如我的是:http://localhost:12197/Service.asmx。

  引用完成后,我们通过代码来实现它,首先还是来看下运行后的效果图:

 .net 调用webservice接口

  最后,再贴上代码:

.net 调用webservice接口
.net 调用webservice接口
 protected void Button1_Click(object sender, EventArgs e)
{
            WebApplication1.localhost.WebService1 aa = new WebApplication1.localhost.WebService1();
            this.Label1.Text = aa.GetSum(Convert.ToInt32(this.TextBox1.Text), Convert.ToInt32(this.TextBox2.Text)).ToString();
}
.net 调用webservice接口

  至此,要讲的内容都讲完了,希望对自己和初学的你有帮助,大神们就略过吧。

转载自:http://www.cnblogs.com/peterpc/p/4628441.html