.NET 帮助 Supersocket C# 示例(开发人员如何使用) Jacob Mellor 已更新:2026年1月31日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 使用SuperSocket开发服务器端套接字应用程序并集成IronPDF SuperSocket C#是开发服务器端套接字应用程序的优秀框架,无论您是在开发GPS服务器还是工业控制系统。 它支持各种网络协议的实现,确保您的套接字工作高效。 这是一个轻量级的跨平台框架,设计为可扩展,为不同环境提供灵活性。 使用SuperSocket,您可以轻松地在客户端和服务器之间发送数据,其源代码可用于定制以满足特定项目的需求。 这是一个开源框架,因此任何开发人员都可以通过GitHub实现和访问它。 IronPDF是一个功能强大的.NET库,用于创建、编辑和提取PDF文档中的内容。 它专为需要在应用程序中集成PDF功能的开发人员设计。 IronPDF支持各种功能,如从HTML生成PDF,合并PDF,以及从PDF中提取文本和图像。 SuperSocket和IronPDF结合可以支持复杂的服务器端应用程序。 它们提供了广泛的功能,满足现代.NET开发人员的需求。 这些库非常适合于无论是构建数据采集服务器还是需要实时聊天应用的强大游戏服务器。 Getting Started with SuperSocket C# 在.NET项目中设置SuperSocket C 要开始使用SuperSocket C#,您需要设置您的.NET项目。 首先,安装SuperSocket NuGet包。 在Visual Studio中打开您的项目,并在包管理器控制台中运行以下命令: Install-Package SuperSocket 安装后,您可以配置您的服务器实例。 创建一个名为appsettings.json的新配置文件。 该文件将定义服务器设置,包括监听器和协议。 { "serverOptions": { "name": "SuperSocketServer", "listeners": [ { "ip": "Any", "port": 4040 } ] } } 接下来,创建一个类来配置服务器。 这个类将从appsettings.json中读取设置并初始化服务器实例。 using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class ServerConfig { public async Task Configure() { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<YourSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class ServerConfig { public async Task Configure() { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<YourSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } $vbLabelText $csharpLabel 一个基本的SuperSocket C#示例 让我们看看一个基本的SuperSocket C#应用程序示例。 此示例演示如何创建一个简单的回声服务器,将接收到的数据发送回去。 首先,定义会话类。 该类将处理套接字连接并管理数据通信。 using SuperSocket; public class EchoSession : AppSession { protected override async ValueTask OnSessionStartedAsync() { await base.OnSessionStartedAsync(); Console.WriteLine("New session started."); } protected override async ValueTask OnSessionClosedAsync(CloseEventArgs e) { await base.OnSessionClosedAsync(e); Console.WriteLine("Session closed."); } protected override async ValueTask OnPackageReceivedAsync(ReadOnlyMemory<byte> package) { await SendAsync(package); } } using SuperSocket; public class EchoSession : AppSession { protected override async ValueTask OnSessionStartedAsync() { await base.OnSessionStartedAsync(); Console.WriteLine("New session started."); } protected override async ValueTask OnSessionClosedAsync(CloseEventArgs e) { await base.OnSessionClosedAsync(e); Console.WriteLine("Session closed."); } protected override async ValueTask OnPackageReceivedAsync(ReadOnlyMemory<byte> package) { await SendAsync(package); } } $vbLabelText $csharpLabel 接下来,配置并运行带有回声会话的服务器。 using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class EchoServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<EchoSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class EchoServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<EchoSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } $vbLabelText $csharpLabel 此示例展示了如何使用SuperSocket C#创建一个简单的回声服务器。 服务器监听连接并回显任何接收到的数据。 Implementing Features of SuperSocket C# 处理多个监听器 SuperSocket C#支持多个监听器,使您的服务器能够处理不同的协议和端口。 此功能对于创建多功能应用程序(如数据采集服务器和GPS服务器)非常有用。 首先,更新您的appsettings.json以包含多个监听器: { "serverOptions": { "name": "MultiListenerServer", "listeners": [ { "ip": "Any", "port": 4040 }, { "ip": "Any", "port": 5050 } ] } } 接下来,配置服务器以使用这些监听器: using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class MultiListenerServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<YourSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class MultiListenerServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<YourSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } $vbLabelText $csharpLabel 通过此设置,您的服务器可以处理4040和5050端口上的连接。这一能力对于需要管理多种网络协议的应用程序至关重要。 实现二进制数据处理 SuperSocket C#在处理二进制数据方面非常高效。 这对于需要二进制级别兼容性的应用程序(如工业控制系统)至关重要。 首先,定义一个会话类来处理二进制数据: using System; using SuperSocket; public class BinaryDataSession : AppSession { protected override async ValueTask OnPackageReceivedAsync(ReadOnlyMemory<byte> package) { var data = package.ToArray(); Console.WriteLine("Received binary data: " + BitConverter.ToString(data)); await SendAsync(data); } } using System; using SuperSocket; public class BinaryDataSession : AppSession { protected override async ValueTask OnPackageReceivedAsync(ReadOnlyMemory<byte> package) { var data = package.ToArray(); Console.WriteLine("Received binary data: " + BitConverter.ToString(data)); await SendAsync(data); } } $vbLabelText $csharpLabel 接下来,配置并运行带有二进制数据会话的服务器: using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class BinaryDataServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<BinaryDataSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class BinaryDataServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<BinaryDataSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } $vbLabelText $csharpLabel 此示例展示了如何使用SuperSocket C#接收和发送二进制数据。 它对于需要处理二进制协议的高性能应用程序非常有用。 管理套接字连接 维护套接字连接对于确保可靠通信至关重要。 SuperSocket C#简化了这一过程。 首先,定义管理套接字连接的会话类: using SuperSocket; public class ConnectionSession : AppSession { protected override async ValueTask OnSessionStartedAsync() { await base.OnSessionStartedAsync(); Console.WriteLine("Connection started."); } protected override async ValueTask OnSessionClosedAsync(CloseEventArgs e) { await base.OnSessionClosedAsync(e); Console.WriteLine("Connection closed."); } protected override async ValueTask OnPackageReceivedAsync(ReadOnlyMemory<byte> package) { await SendAsync(package); } } using SuperSocket; public class ConnectionSession : AppSession { protected override async ValueTask OnSessionStartedAsync() { await base.OnSessionStartedAsync(); Console.WriteLine("Connection started."); } protected override async ValueTask OnSessionClosedAsync(CloseEventArgs e) { await base.OnSessionClosedAsync(e); Console.WriteLine("Connection closed."); } protected override async ValueTask OnPackageReceivedAsync(ReadOnlyMemory<byte> package) { await SendAsync(package); } } $vbLabelText $csharpLabel 接下来,配置并运行带有连接会话的服务器: using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class ConnectionServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<ConnectionSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Server; public class ConnectionServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<ConnectionSession>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } $vbLabelText $csharpLabel 此设置有助于管理套接字连接,确保您的服务器保持稳健和可靠。 创建命令行服务器 SuperSocket C#支持创建命令行服务器。 此功能对于需要简单文本协议的应用程序非常有用。 首先,定义一个处理文本命令的命令类: using System.Text; using System.Threading.Tasks; using SuperSocket.Command; using SuperSocket.ProtoBase; public class MyCommand : IAsyncCommand<AppSession, StringPackageInfo> { public async ValueTask ExecuteAsync(AppSession session, StringPackageInfo package) { var commandKey = package.Key; var parameters = package.Parameters; await session.SendAsync(Encoding.UTF8.GetBytes($"You said: {string.Join(' ', parameters)}")); } } using System.Text; using System.Threading.Tasks; using SuperSocket.Command; using SuperSocket.ProtoBase; public class MyCommand : IAsyncCommand<AppSession, StringPackageInfo> { public async ValueTask ExecuteAsync(AppSession session, StringPackageInfo package) { var commandKey = package.Key; var parameters = package.Parameters; await session.SendAsync(Encoding.UTF8.GetBytes($"You said: {string.Join(' ', parameters)}")); } } $vbLabelText $csharpLabel 接下来,配置服务器以使用该命令: using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Command; using SuperSocket.ProtoBase; using SuperSocket.Server; public class CommandLineServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<AppSession>() .UseCommand<StringPackageParser>() .AddCommand<MyCommand>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } using Microsoft.Extensions.Configuration; using SuperSocket; using SuperSocket.Command; using SuperSocket.ProtoBase; using SuperSocket.Server; public class CommandLineServer { public static async Task Main(string[] args) { var host = SuperSocketHostBuilder.Create() .UseTcpServer() .UseSession<AppSession>() .UseCommand<StringPackageParser>() .AddCommand<MyCommand>() .ConfigureAppConfiguration((hostCtx, configApp) => { configApp.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); }) .Build(); await host.RunAsync(); } } $vbLabelText $csharpLabel 此示例展示了如何使用SuperSocket C#创建一个简单的命令行服务器。 它适用于轻量级文本协议。 Integrating SuperSocket C# with IronPDF 在您的C#应用程序中集成IronPDF和SuperSocket可以显著增强您的服务器能力,尤其是在处理PDF文件方面。 让我们探讨如何有效地合并这两个强大的库。 IronPDF简介 IronPDF .NET库是一个多功能的.NET库,用于创建、编辑和提取PDF文档中的内容。 无论您需要生成报告、发票还是任何其他基于PDF的文档,IronPDF提供了一个易于使用的API来完成这些任务。 其主要功能是其HTML到PDF转换能力。 对于希望在应用程序中集成PDF功能而不需处理PDF规范复杂性的开发人员来说,这是一个极好的工具。 IronPDF在HTML到PDF转换方面表现出色,确保精确保留原始布局和样式。 它非常适合从基于Web的内容中创建PDF,如报告、发票和文档。 利用对HTML文件、URL和原始HTML字符串的支持,IronPDF轻松生成高质量的PDF文档。 using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } } using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } } $vbLabelText $csharpLabel Use Case of Merging IronPDF with SuperSocket C# 想象一下,您有一个使用SuperSocket构建的服务器,需要动态处理客户端请求以生成和发送PDF文档。 通过集成IronPDF,您的服务器可以处理这些请求,动态生成PDF并将其无缝发送回客户端。 用例的代码示例 这是一个完整的代码示例,展示了如何将IronPDF与SuperSocket整合。 此示例设置了一个简单的SuperSocket服务器,该服务器监听客户端连接、处理生成PDF的请求,并将生成的PDF发送回客户端。 using System; using System.Net; using System.Text; using IronPdf; using SuperSocket.SocketBase; using SuperSocket.SocketBase.Protocol; namespace SuperSocketIronPDFExample { class Program { static void Main(string[] args) { var appServer = new AppServer(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig { Name = "SuperSocketServer", Ip = "Any", Port = 2012, Mode = SuperSocket.SocketBase.SocketMode.Tcp, MaxConnectionNumber = 100, }; if (!appServer.Setup(serverConfig)) { Console.WriteLine("Failed to set up!"); return; } appServer.NewSessionConnected += NewSessionConnected; appServer.NewRequestReceived += (session, requestInfo) => { if (requestInfo.Key == "GENPDF") { var pdfDocument = CreatePdfDocument(requestInfo.Body); var pdfBytes = pdfDocument.BinaryData; session.Send(pdfBytes, 0, pdfBytes.Length); Console.WriteLine("PDF document sent to client."); } }; if (!appServer.Start()) { Console.WriteLine("Failed to start!"); return; } Console.WriteLine("Server is running. Press any key to stop..."); Console.ReadKey(); appServer.Stop(); } private static PdfDocument CreatePdfDocument(string content) { var pdfRenderer = new ChromePdfRenderer(); var pdfDocument = pdfRenderer.RenderHtmlAsPdf(content); return pdfDocument; } private static void NewSessionConnected(AppSession session) { Console.WriteLine($"New session connected: {session.SessionID}"); } } public class AppServer : AppServer<AppSession, StringRequestInfo> { } public class AppSession : AppSession<AppSession, StringRequestInfo> { } } using System; using System.Net; using System.Text; using IronPdf; using SuperSocket.SocketBase; using SuperSocket.SocketBase.Protocol; namespace SuperSocketIronPDFExample { class Program { static void Main(string[] args) { var appServer = new AppServer(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig { Name = "SuperSocketServer", Ip = "Any", Port = 2012, Mode = SuperSocket.SocketBase.SocketMode.Tcp, MaxConnectionNumber = 100, }; if (!appServer.Setup(serverConfig)) { Console.WriteLine("Failed to set up!"); return; } appServer.NewSessionConnected += NewSessionConnected; appServer.NewRequestReceived += (session, requestInfo) => { if (requestInfo.Key == "GENPDF") { var pdfDocument = CreatePdfDocument(requestInfo.Body); var pdfBytes = pdfDocument.BinaryData; session.Send(pdfBytes, 0, pdfBytes.Length); Console.WriteLine("PDF document sent to client."); } }; if (!appServer.Start()) { Console.WriteLine("Failed to start!"); return; } Console.WriteLine("Server is running. Press any key to stop..."); Console.ReadKey(); appServer.Stop(); } private static PdfDocument CreatePdfDocument(string content) { var pdfRenderer = new ChromePdfRenderer(); var pdfDocument = pdfRenderer.RenderHtmlAsPdf(content); return pdfDocument; } private static void NewSessionConnected(AppSession session) { Console.WriteLine($"New session connected: {session.SessionID}"); } } public class AppServer : AppServer<AppSession, StringRequestInfo> { } public class AppSession : AppSession<AppSession, StringRequestInfo> { } } $vbLabelText $csharpLabel 这种集成使您能够在SuperSocket服务器中利用IronPDF的强大特性,实现动态PDF生成和高效的客户端服务器通信。 结论 将SuperSocket与IronPDF的综合功能集成是创建动态、高性能服务器应用程序的强大组合,可以无缝处理PDF的生成和处理。 利用SuperSocket强大的套接字服务器框架和IronPDF的综合PDF功能,您可以开发可扩展和多功能的应用程序,以满足各种需求,从数据采集系统到游戏服务器和工业控制系统。 IronPDF提供免费试用,其许可起价从$799开始,为您的开发项目带来了极大的价值。 通过合并这两个库,您可以简化服务器的复杂任务处理能力,同时提高功能和性能。 常见问题解答 SuperSocket C# 用于什么? SuperSocket C# 用于开发服务器端套接字应用程序。它具有高度的可扩展性,支持多种网络协议,使其适用于诸如 GPS 服务器和工业控制系统的环境。 如何在.NET应用程序中将HTML转换为PDF? 您可以使用 IronPDF 的 RenderHtmlAsPdf 方法将 HTML 字符串转换为 PDF,并使用 RenderHtmlFileAsPdf 在 .NET 应用程序中将 HTML 文件转换为 PDF。 如何在 .NET 项目中设置 SuperSocket 服务器? 要在 .NET 项目中设置 SuperSocket 服务器,您需要安装 SuperSocket NuGet 包,使用 appsettings.json 文件配置服务器,并在您的应用程序代码中初始化服务器。 IronPDF 如何增强服务器端应用程序? IronPDF 可以通过提供动态 PDF 生成和处理能力来增强服务器端应用程序,实现基于客户端请求的 PDF 文档实时创建和分发。 SuperSocket 能管理多个协议监听器吗? 是的,SuperSocket 可以管理多个协议监听器,允许一个服务器实例同时处理多种协议和端口,用于数据采集服务器等应用。 IronPDF 在处理 PDF 文档时有哪些优势? IronPDF 提供了全面的功能来创建、编辑和提取 PDF 文档内容。它对于需要高级 PDF 文档处理和操作的应用程序来说是理想的选择。 SuperSocket 如何处理并发套接字连接? SuperSocket 使用会话类来管理连接事件,确保可靠的通信和强大的服务器性能,即使在高负载下也是如此。 是否可以将 PDF 功能集成到 SuperSocket 应用程序中? 是的,通过在您的 SuperSocket 应用程序中集成 IronPDF,您可以添加 PDF 功能,如动态 PDF 生成和编辑,从而增强应用程序的功能。 SuperSocket 的常见使用场景是什么? SuperSocket 的常见使用场景包括 GPS 服务器、工业控制系统、数据采集服务器和实时游戏服务器,所有这些都受益于高效和可靠的套接字通信。 我如何在 SuperSocket 中处理二进制数据? SuperSocket 通过会话类高效处理二进制数据,传入数据包并发送响应,实现有效的数据处理。 IronPDF 是否支持在服务器应用程序中进行 HTML 转 PDF 的转换? 是的,IronPDF 支持在服务器应用程序中进行 HTML 转 PDF 的转换,允许无缝地将 HTML 内容转化为高质量 PDF 文档。 Jacob Mellor 立即与工程团队聊天 首席技术官 Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。Jacob 拥有曼彻斯特大学土木工程一级荣誉工程学士学位(BEng)(1998-2001 年)。他的旗舰产品 IronPDF 和 Iron Suite for .NET 库在全球的 NuGet 安装量已超过 3000 万次,其基础代码继续为全球使用的开发人员工具提供动力。Jacob 拥有 25 年的商业经验和 41 年的编码专业知识,他一直专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。 相关文章 已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多 已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多 已更新2025年12月20日 C# String Equals(开发者用法) 与强大的 PDF 库 IronPDF 结合使用,切换模式匹配允许您为文档处理构建更智能、更简洁的逻辑。 阅读更多 Quartz .NET(开发人员如何使用)Dottrace .NET Core(开发人员...
已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多
已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多