基于 C# .NET Framework 的 Web Service 服务开发实例详解
在 C# .NET Framework 环境下开发 Web Service 的完整流程。内容涵盖 Web Service 基本概念(SOAP、WSDL)、创建项目、编写服务方法(如加法乘法)、本地测试、使用 IIS 或 FTP 部署到服务器,以及客户端通过添加服务引用进行调用的步骤。旨在帮助开发者掌握跨平台、跨语言的分布式服务通信机制及企业级应用集成方案。

在 C# .NET Framework 环境下开发 Web Service 的完整流程。内容涵盖 Web Service 基本概念(SOAP、WSDL)、创建项目、编写服务方法(如加法乘法)、本地测试、使用 IIS 或 FTP 部署到服务器,以及客户端通过添加服务引用进行调用的步骤。旨在帮助开发者掌握跨平台、跨语言的分布式服务通信机制及企业级应用集成方案。

在 C# .NET Framework 环境下开发 Web Service 是一个常见的企业级开发任务。Web Service 提供了一种跨平台、跨语言的通信机制,使不同系统之间能够互相调用和交互。本文将详细介绍如何在 C# .NET Framework 中创建、部署和调用 Web Service,包括相关的概念、应用场景、详细的开发步骤、完整示例以及部署方法。
Web Service 是一种基于 HTTP、SOAP、XML 等标准协议的分布式计算模型。它允许不同平台和编程语言的应用程序通过网络进行通信和数据交换。Web Service 的主要特点包括:
SOAP 是一种基于 XML 的协议,用于在网络上传输结构化信息。SOAP 消息通常包含以下部分:
WSDL 是一种 XML 格式的描述语言,用于描述 Web Service 的接口、方法、参数和返回值。WSDL 文件通常包含以下部分:
Web Service 的应用场景包括但不限于:
选择 Web 服务,点击添加。一个简单的 webservice 就创建完成了。
经过上面两步,我们就生成了一个空的 Web 应用程序项目,然后鼠标右键点击项目,选择 添加>新建项。
创建一个空的 Web 应用程序,选择如下:
打开 Visual Studio,选择 File -> New -> Project 以创建一个新的项目。我们选择 ASP.NET Web 应用程序,如下图所示,项目名称和位置可自己修改,然后点确定进入下一步:
Visual Studio 会生成一个默认的 Web Service 项目结构。项目包含以下重要文件:
在本节中,我们将编写一个简单的计算服务,提供加法和乘法功能。
在解决方案资源管理器中,找到 WebService1.asmx 文件,右键点击并选择 View Code 打开 WebService1.asmx.cs。
添加以下代码以定义 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)
{
a * b;
}
}
}
按 F5 运行项目,Visual Studio 会启动一个开发服务器,并在默认浏览器中打开 http://localhost:XXXXX/webService1.asmx(XXXXX 是端口号)。
在浏览器中,可以看到 Web Service 的描述页面,包含了 Add 和 Multiply 方法。点击方法名,可以进入测试页面:
a 和 b,点击 Invoke。浏览器会显示返回结果,例如 <int>30</int>。a 和 b,点击 Invoke。浏览器会显示返回结果,例如 <int>200</int>。Web Service 开发完成后,需要将其部署到服务器,使得客户端可以访问。
程序和功能,点击 启用或关闭 Windows 功能。Internet Information Services,并确保 ASP.NET 和 IIS 管理控制台 已勾选,点击 确定。Publish。File System,指定发布路径(如 C:\inetpub\wwwroot\MyWebService),点击 Publish。Default Web Site,选择 Add Application。Alias(如 MyWebService),选择应用程序池,选择物理路径(发布路径)。OK,应用程序会被添加到默认网站下。http://localhost/MyWebService/Service1.asmx 检查 Web Service 是否正常工作。Publish。FTP,输入远程服务器的 FTP 地址、用户名和密码,指定目标路径(如 /var/www/MyWebService),点击 Publish。http://yourserveraddress/MyWebService/webService1.asmx 检查 Web Service 是否正常工作。Add Service Reference。Discover 或输入 Web Service 的 URL(如 http://localhost/MyWebService/webService1.asmx)。Go,选择服务并输入命名空间(如 MyWebServiceReference),点击 OK。在项目中编写代码调用 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();
}
}
}
运行客户端程序,可以看到调用 Web Service 的结果输出到控制台。
在本文中,我们详细介绍了如何在 C# .NET Framework 环境下开发、测试、部署和调用 Web Service。我们从概念入手,逐步讲解了 Web Service 的开发步骤和代码示例,最终展示了如何通过客户端调用 Web Service。
通过这种基于标准化协议的分布式服务,开发人员可以实现跨平台、跨语言的互操作,满足企业级应用和系统集成的需求。希望本文能帮助你更好地理解和掌握 Web Service 的开发与应用。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online