【web】WebService入门实例
一、概念及环境安装
1、IIS
互联网信息服务(Internet Information Service)
是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
2、IIS安装
参考链接:https://www.likecs.com/show-203821138.html
https://blog.csdn.net/weixin_45334970/article/details/115838780
已经开启IIS就跳过这一步。
1、打开“控制面板”—>选择“程序”。
2、在弹出对话框中选择“启用或关闭Windows功能”。
3、在弹出对话框中,选择“Internet Information Services”,点击“确定”。

4、点击确定后,系统正在运用所做的更改。
5、运用程序更改结束后,选择“立即重新启动”。系统重新启动后,则IIS配置结束。
6、向IIS中注册.net框架版本
安装的IIS因为是先安装了VS所以它里面的应用程序池的.net框架还是系统自带的框架,Win7是2.0,需要将VS的.net框架版本注册
注册方法:打开CMD,cd到这个路径下执行命令aspnet_regiis -i
回车注册,等待一下,注册完成。

32位系统输入:aspnet_regiis /i。
3、一些免费的WebService的服务网站
中文<->英文双向翻译WEB服务
http://fy.webxml.com.cn/webservices/EnglishChinese.asmx
国内手机号码归属地查询WEB服务
http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx
2500多个城市天气预报 WEB服务
http://ws.webxml.com.cn/WebServices/WeatherWS.asmx
中国开放式基金数据 WEB 服务
http://ws.webxml.com.cn/WebServices/ChinaOpenFundWS.asmx
国内飞机航班时刻表 WEB 服务
http://ws.webxml.com.cn/webservices/DomesticAirline.asmx
二、创建web service服务端
调用WebService:https://www.cnblogs.com/dotnet261010/p/12461930.html
创建、部署和调用WebService的简单示例:https://www.cnblogs.com/Brambling/p/6815565.html
1、新建项目 --- Asp.net 空 Web 应用程序

2、在项目上 点击右键 ---添加---新建项 弹出新窗口----找到Web服务(ASMX)

3、在该文件下,编写加法的实现代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace WebServiceDemo { /// <summary> /// WebServiceDemo 的摘要说明 /// </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 WebServiceDemo : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } //如果方法需要通过webservice的地址进行调用,那就必须在方法上面打上 [WebMethod] 的特性标签,否则是无法通过webservice访问到的。 //[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 Sum(string a, string b) //{ // int sum = 0; // sum = Convert.ToInt32(a) * Convert.ToInt32(b); // return sum; //} [WebMethod] public int Add(int x, int y) { int sum; sum = x + y; return sum; } } }
三、开发 web service 客户端程序
1、新建项目---Asp.net 空Web 应用程序
2、添加一个Web窗体

3、添加设计器代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebClient.WebForm1" %> <!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></title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="txtValue1" runat="server"></asp:TextBox> <br/> <asp:TextBox ID="txtValue2" runat="server"></asp:TextBox> <br /> <asp:TextBox ID="txtSum" runat="server"></asp:TextBox> <br /> <asp:Button ID="btnOK" runat="server" Text="WEbdd" OnClick="btnOK_Click" /> </div> </form> </body> </html>
4、添加服务引用
项目右键---添加----服务引用

在弹出窗体中,先点击“发现”,再点击“转到”,会加载出刚刚创建的服务:

这里的“命名空间”会在客户端cs代码中使用到。
5、编写WebForm1.aspx.cs代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebClient { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnOK_Click(object sender, EventArgs e) { Mxy.WebServiceDemoSoapClient ss = new Mxy.WebServiceDemoSoapClient(); int i = Convert.ToInt32(txtValue1.Text); int j = Convert.ToInt32(txtValue2.Text); txtSum.Text = ss.Add(i, j).ToString(); } } }
参考链接:https://www.cnblogs.com/asdyzh/p/9818538.html
四、发布应用程序
1、右键项目,在弹出菜单中,选择“发布”。

2、设置“配置文件”节点,点击“下一步”。
(点击下拉框新建,名字任意)

3、设置“连接”节点,点击“下一步”。

4、设置“设置”节点,点击“下一步”。
5、设置“预览”节点,点击“发布”。
五、IIS发布网站
1、从“计算机”---“管理”进入Internet Information Services

点击“服务和应用程序”---“Intenet信息服务(IIS)管理器”
2、选择“网站”—>点击鼠标“右键”,在弹出对话框中,选择“添加网站”。

3、在弹出对话框中,设置相关参数。

主机名不填。
物理路径就选我们创建的应用程序发布后文件所在的文件夹。
4、配置应用程序池,选中刚才创建的网站,点击高级设置

注意这几个配置。注意应用程序NET版本也要设置为4.0。

5、配置默认文档,双击默认文档,点击添加


填写应用程序的文件名称,要带后缀。

6、默认文档添加成功后,如下图所示:

7、启用目录浏览


六、网站执行
1、在项目中执行

注意,目前解决方案管理器里有两个项目,一个客户端一个服务端,记得把客户端项目设置为启动项目。
点击执行后,在电脑默认浏览器会打开:

2、在IIS直接访问网站

在本机的浏览器直接输入http://192.168.40:8010也可以访问网站。
3、其他电脑访问
(1)在本地电脑打开控制面板,进入Windows防火墙:


(2)打开防火墙的高级设置,新增入站规则

(3)填入端口范围

(4)设置允许连接

(5)选择规则应用范围

(6)填写规则名字

将电脑2与本机连到同一网络,浏览器输入http://192.168.40.58:8010访问网站。
注意:前面第五章节中,IIS配置的IP地址一定要与这个局域网相同才能正常访问。

参考链接:https://www.cnblogs.com/lmei/p/6831837.html
七、常见问题汇总
1、HTTP 错误 404.17 - Not Found请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理

解决方法:检查程序池里对应的网站名称,是不是真的改成v4.0了

2、测试设置里提示IIS 管理器无法验证此内置帐户是否有访问权

添加特定用户(可在控制面板里新建管理员用户):



浙公网安备 33010602011771号