【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 管理器无法验证此内置帐户是否有访问权
添加特定用户(可在控制面板里新建管理员用户):
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!