加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService 学习笔记

发布时间:2020-12-17 00:42:12 所属栏目:安全 来源:网络整理
导读:一、 ? WebService 学习笔记 在众多的交互式和分布式应用程序中,我们可能经常需要使用 webservice ,在这里我建立了自己的第一个 webservice 程序。并且尝试将我们的 service 服务发布到 IIS ,所用开发环境是 vs2005 。 1. ???? 首先我们先建立一个 web 服

一、?WebService学习笔记

在众多的交互式和分布式应用程序中,我们可能经常需要使用webservice,在这里我建立了自己的第一个webservice程序。并且尝试将我们的service服务发布到IIS,所用开发环境是vs2005

1.????首先我们先建立一个web服务项目,打开vs2005,选择:新建网站—ASP.NETWeb服务,选择我们的项目路径之后,确定,我们便得到了一个webservice项目。2.????项目有一个Service.asmx文件,在这里编写我们对外发布的服务接口

[WebMethod(Description="求乘积方法")]

???public double Multiplication(double i,double j)

???{

???????return i * j;

???}

?

???[WebMethod(Description = "求和的方法")]

???public double Addition(double i,double j)

???{

???????return i + j;

???}

?

???[WebMethod(Description="求差的方法")]

???public double Substract(double i,double j)

???{

???????return i - j;

???}

?

???[WebMethod(Description="求商的方法")]

???public double Division(double i,double j)

???{

???????if (j != 0)

???????????return i / j;

???????else

???????????return 0;

??? }

3.????完成之后,我们便可以对外发布我们的这些服务,这里有两种方式:

3.1.???第一种:我们编译运行我们的webservice项目,在得到的网页中地址栏的地址,便是我们服务的地址。如本例:http://localhost:2046/WebSite1/Service.asmx

3.2.???第二种:我们发布可以发布网站到IIS。在我们的webservice项目中,1:我们首先生成网站:选择工具---生成。然后发布网站:选择工具---发布网站选择地址,需要记住这个位置,也可以不改,就以默认的位置。如本例:

C:UsersAdministratorDocumentsVisualStudio 2005ProjectsWebSite1PrecompiledWebWebSite1

2:我们可以新建一个目录,将我们发布到上面位置的所有文件拷贝到此目录下。如本例:C:web

3:然后启动我们的IIS,需要说明的是,我用的是win7系统,新建一个应用程序(本例web):然后选择其物理路径指向上面的目录:C:web,这样我们的IIS便部署好了,我们可以浏览我们的服务,本例为Service.asmx,右键浏览,这样我们在地址栏便可以看到我们的服务位置:http://localhost/web/Service.asmx

部署后的IIS如下图所示:

1 配置IIS

4.????以上的工作做完之后,我们便可以在其他应用程序里调用我们webservice,这里以一个asp.net项目为例。

4.1.???依然是新建一个网站项目:新建---ASP.NET网站,简单布置我们前台的页面。

4.2.???接下来我们需要添加web服务引用,也就是引用我们服务的位置,由于上面我们发布用了两种方法,这里我们也介绍我们的两种引用方法。

1:在项目上右击添加web服务引用,在URL地址栏填入我们上面第一种方法服务发布的位置:http://localhost:2046/WebSite1/Service.asmx如下图所示:2:第二种方法只需在地址栏填入下列地址,http://localhost/web/Service.asmx后续操作一样

?

2?配置服务地址

3 添加服务引用之后的项目

4.3.???前台布置如下:

<body>

???<form id="form1" runat="server">

???<div>

???<asp:TextBoxID="Num1"runat="server"></asp:TextBox>

????????????<selectid="selectOper" runat= "server">

????????????????<option>+</option>

????????????????<option>-</option>

????????????????<option>*</option>

????????????????<option>/</option>

????????????</select>

????????????<asp:TextBoxID="Num2"runat="server"></asp:TextBox>

????????????<spanid = "E" runat ="server"></span>

????????????<asp:TextBoxID="Result"runat="server"></asp:TextBox>

?

???</div>

???</form>

</body>

?

4.4.???后台代码如下:

protectedvoid Page_Load(object sender,EventArgs e)

???{

???????Button btn = newButton();

???????btn.Width = 20;

???????btn.Text = "=";

???????btn.Click+=new EventHandler(btn_Click);

???????E.Controls.Add(btn);

???}

?

???void btn_Click(object sender,EventArgs e)

???{

???????if (Num1.Text != "" && Num2.Text !="")

???????{

???????????ServiceIIS.Service webService = new ServiceIIS.Service();??????//第一种--服务位置:http://localhost/web/Service.asmx---实例化

???????????WebServiceIIS.Service webService2 = new WebServiceIIS.Service();//第二种--服务位置:http://localhost:2046/WebSite1/Service.asmx--实例化

???????????int oper = selectOper.SelectedIndex;

???????????switch (oper)

???????????{

???????????????case 0:

???????????????????Result.Text = webService.Addition(double.Parse(Num1.Text),double.Parse(Num2.Text)).ToString(); //调用服务里面的接口

???????????????????break;

???????????????case 1:

???????????????????Result.Text =webService.Substract(double.Parse(Num1.Text),double.Parse(Num2.Text)).ToString();

???????????????????break;

???????????????case 2:

???????????????????Result.Text =webService.Multiplication(double.Parse(Num1.Text),double.Parse(Num2.Text)).ToString();

???????????????????break;

???????????????case 3:

???????????????????Result.Text =webService.Division(double.Parse(Num1.Text),double.Parse(Num2.Text)).ToString();

???????????????????break;

???????????}

???????}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
    站长推荐
    热点阅读