实战基础技能(18)--------用ASP.NET调用Web Service

打开VS2010,打开“文件-新建-网站”,选择“ASP.NET网站”

选好存储位置,语言后点击确定,进入默认页面。然后先添加Web引用,把WebService引到当前的工程里面。方法是:在资源管理器中点击右键,选择添加Web 引用,调出对话框:

在URL中填入,前面写好的WebService运行后浏览器上面显示的地址,点击“前往”按钮,如上图,就会显示出所引用的WebService中可以调用的方法,然后点击“添加引用”,就将webservice引用到了当前的工程里面 ,如下图,解决方案中会出现引进来的WebService文件

我们在这就练习调用webservice的四个方法,做一个简单的调用的例子,先在网站的前台添加几个控件,代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Webservice调用实例</title>
</head>
<body>
    <form id="form2" runat="server">
        <div>
            <asp:TextBox ID="Num1" runat="server"></asp:TextBox>
            <select id="selectOper" runat = "server">
                <option>+</option>
                <option>-</option>
                <option>*</option>
                <option>/</option>
            </select>
            <asp:TextBox ID="Num2" runat="server"></asp:TextBox>
            <span id = E runat = "server"></span>
            <asp:TextBox ID="Result" runat="server"></asp:TextBox>
        </div>
</form>
</body>
</html>

然后在后台写调用的代码,调用之前和使用其它的对象一样,要先实例化,实例化的方法是localhost.Service a =new localhost.Service();然后就可以通过a来访问WebService里面提供的方法了。在这个例子里面,动态的创建了一个button控件来触发WebService的调用,后台代码如下:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication2
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            //在页面加载的时候动态创建一个按钮,在它的事件里调用Webservice
            Button btn = new Button();
            btn.Width = 20;
            btn.Text = " = ";
            btn.Click += new EventHandler(btn_Click);
            E.Controls.Add(btn);

        }

        /// <summary>
        /// 定义动态创建Button的Click事件,在这个事件中调用Webservice
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void btn_Click(object sender, EventArgs e)
        {
            if (Num1.Text != "" && Num2.Text != "")
            {
                //实例化引用的webservice对象
                localhost.Service1 WebserviceInstance = new localhost.Service1();
                int Oper = selectOper.SelectedIndex;
                switch (Oper)
                {
                    //通过实例化的webservice对象来调用Webservice暴露的方法
                    case 0:
                        Result.Text = WebserviceInstance.addition(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
                        break;
                    case 1:
                        Result.Text = WebserviceInstance.subtract(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
                        break;
                    case 2:
                        Result.Text = WebserviceInstance.multiplication(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
                        break;
                    case 3:
                        Result.Text = WebserviceInstance.division(double.Parse(Num1.Text), double.Parse(Num2.Text)).ToString();
                        break;
                }
            }
        }
    }
}

运行后可以看到效果,如下图所示,在前面两个Textbox里面输入两个操作数,在中间的下拉列表中选择操作符,然后点击“=”号,将计算的结果输出到第三个Textbox里面。

其中的报错解决

整个计算并不是在本地进行的,是在Web服务端进行计算的然后将结果通过XML返还给了调用方的,所以,在运行该程序的时候,WebService程序还必须启动,否则会报无法连接远程服务器的异常

时间: 2024-08-28 07:16:16

实战基础技能(18)--------用ASP.NET调用Web Service的相关文章

asp.net调用web service不通过添加web引用的方式怎么调用

创建方法 //动态调用web服务 public static object InvokeWebSer(string url,string @namespace, string classname, string methodname, object[] args) { System.Net.WebClient wc = new System.Net.WebClient(); string URL=string.Empty; if ((url.Substring(url.Length - 5, 5

ASP.NET 如何调用 Web Service

在.NET 中调用 Web Service 其实和创建 Web Service 一样简单. 实现步骤如下. (1)首先我们创建一个 ASP.NET Web 应用程序. (2)添加 Web Service 引用. 在项目上单击鼠标右键,在弹出的快捷菜单中选择“添加 Web 引用”命令,如图 添加引用分以下 3 种情况. 1.如果是本解决方案中的 Web 服务,则选第一个,程序会自动转向解决方案中的服 务地址. 2.如果是本计算机上的 Web 服务,则系统会自动寻找本机的 Web 服务,供你选择.

C# 调用 Web Service

Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册. XML:(Extensible Markup Language)扩展型可标记语言.面向短期的临时数据处理.面向万维网络,是Soap的基础. Soap:(Simple Object Access Protocol)简单对象存

实战基础技能(06)--------object sender C#有个毛作用

button1_Click(object sender,EventHandler e) { Button button=(Button)sender; button.Text="text property has been changed at its event"; } object 是事件的激发控件,或叫事件源:具体我们可以用MessageBox.Show(sender.ToString())直接输出,我们可以直接看到; 如果一个按钮button1,我点击这个按钮﹕sender就是

实战基础技能(02)-----------类,属性,构造函数和方法打死都要快速区分

一:做项目时经常会看见很对自定义的类,一定要快速的识别才能正确的理解项目代码 二:区分 类:很好区分,有Class修饰 方法:有返回值的描述,新的方法名 构造函数:没有返回值,有类名 属性:主要是get 和set标志,可能会有自定义的类型有一定的迷惑性 实战基础技能(02)-----------类,属性,构造函数和方法打死都要快速区分,布布扣,bubuko.com

实战基础技能(07)--------WPF的登录界面的排版

一:截图 二:XAML代码 <Window x:Class="wpf练习.登录窗体" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="登录窗体" Height="200" Width="

实战基础技能(08)--------MVVM模式中WPF数据的完全绑定

一:截图,描述:将后台代码的姓名.年龄绑定到文本框,单击”增加年龄“--年龄自+1,单击”显示年龄“--弹出年龄的显示对话框,实现了从文本框修改年龄和后台更改年龄并显示到文本框 运行结果和解决方案管理截图如下: 二:person类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; namespace 完全数据绑定 {

实战基础技能(07)--------DEV控件的Gridview小技巧总结

1.设置Gridview控件的某列不可编辑 this.gridData.gridView1.Columns["change_date"].OptionsColumn.AllowEdit = false; 字段:change_date是数据库中字段,是绑定到gridview上的. 2.设置Gridview控件整体不可编辑 this.gridData.IsEnableEdit = false; 3.设置Gridview控件,列头不可排序 this.gridDataDetail.gridVi

ASP.NET4.0中JavaScript脚本调用Web Service 方法

环境:VS2019  .net 4.0 framework 根据教材使用ScriptManager在JavaScript中调用Web service 时,失败.现将过程和解决方法记录如下: 1.定义Web Service using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace AjaxTest1 { /// <