目录
1. Web Service 概念先容
1.1 什么是 Web Service
1.2 SOAP(简单对象访问协议)
1.3 WSDL(Web 服务形貌语言)
1.4 应用场景
2. 创建 Web Service 项目
3. 编写 Web Service 代码
3.1 打开 WebService1.asmx.cs
3.2 编写服务方法
3.3 代码分析
4. 测试 Web Service
4.1 运行项目
4.2 测试方法
5. 部署 Web Service
5.1 使用 IIS 部署
5.1.1 安装和设置 IIS
5.1.2 发布项目
5.1.3 设置 IIS
5.2 部署到远程服务器
5.2.1 远程服务器准备
5.2.2 使用 FTP 部署
6. 客户端调用 Web Service
6.1 添加服务引用
6.2 编写调用代码
6.3 运行客户端程序
7. 总结
弁言
在 C# .NET Framework 环境下开辟 Web Service 是一个常见的企业级开辟任务。Web Service 提供了一种跨平台、跨语言的通信机制,使差别体系之间可以或许相互调用和交互。本文将详细先容如安在 C# .NET Framework中创建、部署和调用 Web Service,包罗相关的概念、应用场景、详细的开辟步调、完整示例以及部署方法。【以下示例基于 .NET Framework4.5实现。】
1. Web Service 概念先容
1.1 什么是 Web Service
Web Service 是一种基于 HTTP、SOAP、XML 等标准协议的分布式盘算模型。它答应差别平台和编程语言的应用程序通过网络进行通信和数据交换。Web Service 的重要特点包罗:
- 平台无关性:Web Service 可以在任何支持 HTTP 和 XML 的平台上运行。
- 语言独立性:Web Service 可以使用任何编程语言来实现和调用。
- 标准化协议:使用标准化的协议,如 HTTP、SOAP 和 WSDL,确保了互操作性。
1.2 SOAP(简单对象访问协议)
SOAP 是一种基于 XML 的协议,用于在网络上传输结构化信息。SOAP 消息通常包含以下部门:
- Envelope:定义消息的开始和结束。
- Header:包含可选的消息头信息。
- Body:包含实际的消息内容。
1.3 WSDL(Web 服务形貌语言)
WSDL 是一种 XML 格式的形貌语言,用于形貌 Web Service 的接口、方法、参数和返回值。WSDL 文件通常包含以下部门:
- Types:定义数据类型。
- Message:定义消息结构。
- PortType:定义操作和消息的接口。
- Binding:定义操作与消息的绑定。
- Service:定义服务端点和地址。
1.4 应用场景
Web Service 的应用场景包罗但不限于:
- 跨平台体系集成:比方,将 Java 应用程序与 C# 应用程序进行集成。
- 分布式体系:比方,微服务架构中的服务调用。
- 企业服务总线(ESB):使用 Web Service 实现业务功能的松耦合。
- B2B 电子商务:差别企业之间的数据交换和业务流程集成。
2. 创建 Web Service 项目
- 打开 Visual Studio
打开 Visual Studio,选择 File -> New -> Project 以创建一个新的项目。我们选择ASP.NET Web应用程序,如下图所示,项目名称和位置可自己修改,然后点确定进入下一步:
- 创建一个空的Web应用程序,选择如下:
- 颠末上面两步,我们就生成了一个空的Web应用程序项目,然后鼠标右键点击项目,选择 添加>新建项。
- 选择Web服务,点击添加。一个简单的webservice就创建完成了。
然后Visual Studio 会生成一个默认的 Web Service 项目结构。项目包含以下告急文件:
- WebService1.asmx:默认的 Web Service 文件,包含服务的入口点。
- WebService1.asmx.cs:服务的代码文件,定义服务方法。
3. 编写 Web Service 代码
在本节中,我们将编写一个简单的盘算服务,提供加法和乘法功能。
3.1 打开 WebService1.asmx.cs
在办理方案资源管理器中,找到 WebService1.asmx 文件,右键点击并选择 View Code 打开 WebService1.asmx.cs。
3.2 编写服务方法
添加以下代码以定义 Add 和 Multiply 方法:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Services;
- namespace MyWebService
- {
- /// <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 Add(int a, int b)
- {
- // 返回两个数的和
- return a + b;
- }
- [WebMethod]
- public int Multiply(int a, int b)
- {
- // 返回两个数的乘积
- return a * b;
- }
- }
- }
复制代码 3.3 代码分析
- [WebService]:表明该类是一个 Web Service。
- [WebServiceBinding]:定义 Web Service 绑定的设置。
- [WebMethod]:标志类中的方法,使其可以作为 Web Service 方法被调用。
4. 测试 Web Service
4.1 运行项目
按 F5 运行项目,Visual Studio 会启动一个开辟服务器,并在默认浏览器中打开 http://localhost:XXXXX/webService1.asmx(XXXXX 是端标语)。
4.2 测试方法
在浏览器中,可以看到 Web Service 的形貌页面,包含了 Add 和 Multiply 方法。点击方法名,可以进入测试页面:
- Add 方法:输入参数 a 和 b,点击 Invoke。浏览器会显示返回结果,比方 <int>30</int>。
- Multiply 方法:输入参数 a 和 b,点击 Invoke。浏览器会显示返回结果,比方 <int>200</int>。
5. 部署 Web Service
Web Service 开辟完成后,必要将其部署到服务器,使得客户端可以访问。
5.1 使用 IIS 部署
5.1.1 安装和设置 IIS
- 打开控制面板,选择 程序和功能,点击 启用或关闭 Windows 功能。
- 在 Windows 功能对话框中,勾选 Internet Information Services,并确保 ASP.NET 和 IIS 管理控制台 已勾选,点击 确定。
5.1.2 发布项目
- 在办理方案资源管理器中右键点击项目,选择 Publish。
- 在发布对话框中选择发布目的,如 File System,指定发布路径(如 C:\inetpub\wwwroot\MyWebService),点击 Publish。
5.1.3 设置 IIS
- 打开 IIS 管理器,右键点击 Default Web Site,选择 Add Application。
- 在添加应用程序对话框中输入 Alias(如 MyWebService),选择应用程序池,选择物理路径(发布路径)。
- 点击 OK,应用程序会被添加到默认网站下。
- 在浏览器中输入 http://localhost/MyWebService/Service1.asmx 查抄 Web Service 是否正常工作。
5.2 部署到远程服务器
5.2.1 远程服务器准备
- 确保目的服务器已安装 IIS 并设置 ASP.NET。
- 确保目的服务器防火墙答应 HTTP/HTTPS 访问。
5.2.2 使用 FTP 部署
- 在办理方案资源管理器中右键点击项目,选择 Publish。
- 在发布对话框中选择 FTP,输入远程服务器的 FTP 地址、用户名和密码,指定目的路径(如 /var/www/MyWebService),点击 Publish。
- 发布完成后,浏览器中输入 http://yourserveraddress/MyWebService/webService1.asmx 查抄 Web Service 是否正常工作。
6. 客户端调用 Web Service
6.1 添加服务引用
- 打开一个新的或现有的 .NET 项目(如控制台应用),右键点击项目选择 Add Service Reference。
- 在服务引用对话框中点击 Discover 或输入 Web Service 的 URL(如 http://localhost/MyWebService/webService1.asmx)。
- 点击 Go,选择服务并输入命名空间(如 MyWebServiceReference),点击 OK。
6.2 编写调用代码
在项目中编写代码调用 Web Service:
- using System;
- namespace MyWebServiceClient
- {
- class Program
- {
- static void Main(string[] args)
- {
- // 创建服务客户端实例
- var client = new MyWebServiceReference.Service1SoapClient();
- // 调用 Add 方法
- int sum = client.Add(10, 20);
- Console.WriteLine($"10 + 20 = {sum}");
- // 调用 Multiply 方法
- int product = client.Multiply(10, 20);
- Console.WriteLine($"10 * 20 = {product}");
- // 关闭客户端
- client.Close();
- }
- }
- }
复制代码 6.3 运行客户端程序
运行客户端程序,可以看到调用 Web Service 的结果输出到控制台。
7. 总结
在本文中,我们详细先容了如安在 C# .NET Framework 环境下开辟、测试、部署和调用 Web Service。我们从概念入手,逐步解说了 Web Service 的开辟步调和代码示例,最终展示了如何通过客户端调用 Web Service。
通过这种基于标准化协议的分布式服务,开辟人员可以实现跨平台、跨语言的互操作,满意企业级应用和体系集成的需求。盼望本文能资助你更好地理解和掌握 Web Service 的开辟与应用。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |