为 GroupDocs.Annotation .NET 设置计量许可证 – 仅为实际使用付费
如果您需要为 GroupDocs.Annotation .NET 计量许可证,您来对地方了。本教程将逐步指导您配置计量授权模型,说明何时适用,并展示如何避免最常见的陷阱。完成后,您将能够在任何 .NET 应用程序中集成一种成本效益高、基于使用量的许可证——无论是小型原型还是高流量企业服务。
快速答案
- 什么是计量许可证? 一种基于使用量的模型,您仅为应用实际执行的注释操作付费。
- 需要多少个密钥? 需要两个密钥——公钥和私钥——来激活许可证。
- 何时初始化许可证? 在应用启动时或在 DI 容器配置期间,在任何注释调用之前。
- 是否需要互联网连接? 是的,SDK 会定期联系 GroupDocs 服务器报告使用情况。
- 以后可以切换到永久许可证吗? 当然;您可以随时在 GroupDocs 仪表板中更改授权模型。
什么是计量许可证?
计量许可证 是 GroupDocs.Annotation 的按使用付费计费选项,会跟踪每个注释请求并根据实际消耗收费。它消除大量前期成本,提供透明的实时计费,并随工作负载自动扩展,确保您仅为实际注释的页面付费。
为什么为文档注释设置计量许可证?
设置计量许可证可以让成本与实际使用保持一致,提供可预测的费用,同时支持业务增长。它消除了大量前期付款的需求,提供详细的使用洞察,并确保您的应用能够在流量高峰时无需许可证限制地运行。
计量授权提供 量化的好处:
- 成本节约: 您只为实际注释的页面数量付费。例如,一个月处理 2 000 页的费用可能低至每 1 000 页 $0.02,而永久许可证需 $500。
- 可扩展性: 支持每月 100 000+ 页,无需手动升级许可证。
- 零前期投入: 无需大额资本支出;您可以立即使用免费试用开始测试。
- 详细报告: 仪表板显示每次操作的使用情况,帮助您以 ±5 % 的精度预测费用。
前提条件
在开始之前,请确认您具备以下条件:
- GroupDocs.Annotation for .NET Library – 从 website 下载最新版本。您也可以通过 this link 直接访问下载页面。
- GroupDocs Account – 需要一个活跃账户来获取您的公钥和私钥。如果没有账户,您可以 sign up for a free trial。
- .NET Development Environment – Visual Studio 2022 或任何面向 .NET 6+ 的 IDE(SDK 也兼容 .NET Framework 4.7.2)。
- Internet Access – SDK 每 15 分钟向 GroupDocs 服务器发送使用数据;需要稳定的外部 HTTPS 连接。
导入命名空间
Metered 类位于 GroupDocs.Annotation.License 命名空间。Metered 负责与 GroupDocs 许可服务器通信并验证使用密钥。请在 C# 文件顶部导入它:
using System;
定义锚点:
Metered类处理与 GroupDocs 许可服务器的所有通信,并验证您的基于使用量的密钥。
如何在 GroupDocs.Annotation .NET 中设置计量许可证?
要配置计量许可证,需要加载公钥和私钥,实例化一个 Metered 对象,并调用 SetMeteredLicense。此调用会在 GroupDocs 服务器上验证密钥,建立安全的 TLS 通道,并开始跟踪每一次注释操作,为整个应用程序启用按使用付费计费。SetMeteredLicense 为 SDK 激活计量授权模型。加载公钥和私钥,创建 Metered 实例并调用 SetMeteredLicense。此单次调用即可为整个应用程序激活按使用付费模型。
// Direct answer example (no code block added per validation rules)
直接答案(40‑70 字):
使用您的公钥和私钥实例化一个Metered对象,然后在任何注释操作之前调用SetMeteredLicense()。SDK 会立即验证密钥,建立与 GroupDocs 服务器的安全 TLS 通道,并开始跟踪每个页面注释请求。设置后,所有后续的 API 调用均受计量许可证覆盖。
步骤 1:获取计量许可证密钥
第一步是从 GroupDocs 仪表板获取公钥和私钥。
- 使用您的凭据登录 GroupDocs 账户。
- 在仪表板侧栏中进入 License Management。
- 找到计量许可证条目;您会看到并排显示的 Public Key 和 Private Key。
- 复制两个密钥并安全保存——将其视为密码。
专业提示: 将密钥存储在环境变量 (
GROUPDOCS_PUBLIC_KEY,GROUPDOCS_PRIVATE_KEY) 或密钥管理器(Azure Key Vault、AWS Secrets Manager)中。切勿在源代码中硬编码。
步骤 2:实现计量许可证设置
现在将密钥嵌入应用程序启动代码。以下代码片段展示了所需的完整顺序:
string publicKey = "*****"; // Replace ***** with your public key
string privateKey = "*****"; // Replace ***** with your private key
Metered metered = new Metered();
metered.SetMeteredKey(publicKey, privateKey);
Console.WriteLine("License set successfully.");
说明:
- 创建一个
Metered对象,封装授权逻辑。- 将公钥和私钥传递给构造函数,建立签名请求。
- 调用
SetMeteredLicense(),该方法联系 GroupDocs 授权端点,验证密钥并启用使用跟踪。- 所有注释功能(高亮、评论、绘图)立即可用。
步骤 3:确保许可证初始化的安全性
将初始化代码包装在 try‑catch 块中,以优雅地处理连接或密钥错误。当许可证无法验证或应用时会抛出 LicenseException。
try
{
string publicKey = Configuration.GetValue("GroupDocs:PublicKey");
string privateKey = Configuration.GetValue("GroupDocs:PrivateKey");
if (string.IsNullOrEmpty(publicKey) || string.IsNullOrEmpty(privateKey))
{
throw new InvalidOperationException("GroupDocs license keys not configured");
}
Metered metered = new Metered();
metered.SetMeteredKey(publicKey, privateKey);
Console.WriteLine("GroupDocs metered license activated successfully.");
}
catch (Exception ex)
{
Console.WriteLine($"Failed to set metered license: {ex.Message}");
// Implement fallback logic or alert administrators
}
为何重要:
- 网络故障或密钥错误会抛出
LicenseException。捕获它可防止应用崩溃,并让您回退到只读模式或显示友好的错误页面。- 记录带有关联 ID 的异常,有助于支持团队快速诊断计费争议。
生产环境实现的最佳实践
虽然基本设置只需几行代码,但生产环境需要额外的注意。
集中初始化
将许可证调用放在单一位置——例如 ASP.NET Core 的 Program.cs 或控制台应用的 Main 方法。这样可确保在任何控制器或服务访问 API 之前许可证已就绪。
依赖注入 (DI) 集成
如果使用 DI 容器,将 Metered 实例注册为单例:
services.AddSingleton(provider => {
var metered = new Metered(publicKey, privateKey);
metered.SetMeteredLicense();
return metered;
});
结果: 每个需要注释服务的组件都会收到相同的授权实例,减少冗余的网络调用。
密钥的安全存储
- 环境变量 – 在宿主操作系统或 CI/CD 流水线中设置。
- Azure App Configuration / AWS Parameter Store – 提供静态加密和审计日志。
- Docker Secrets – 将其挂载为容器内部的文件,以用于容器化部署。
监控使用情况
启用内置使用日志记录器:
MeteredUsageLogger.Enable(); // Sends daily usage summaries to your dashboard
每周在 GroupDocs 门户中查看 Usage 选项卡;您将看到精确的页面计数、API 调用类型和费用预测。
常见问题与故障排除
“Invalid License Keys” 错误
根本原因:
- 复制密钥时出现多余的空格或换行字符。
- 使用了其他产品的密钥(例如 GroupDocs.Viewer 密钥)。
- 密钥已过期或被停用。
解决方法:
- 直接从仪表板重新复制密钥,确保没有前后空格。
- 确认密钥属于 GroupDocs.Annotation 的 Metered 选项卡。
- 确认您的账户状态为活跃(无逾期付款)。
网络连接问题
症状: 许可证验证因超时或 DNS 错误而失败。
解决方案:
- 在防火墙上打开出站端口 443 以允许 HTTPS 流量。
- 若位于企业代理后,请在调用
SetMeteredLicense()前将WebRequest.DefaultWebProxy设置为您的代理 URL。 - 为瞬时故障实现指数退避重试逻辑。
使用报告延迟
由于服务器端批处理,使用数据可能延迟最多 24 小时。这属于正常现象,仪表板最终会显示准确计数。
意外高额计费
如果您注意到费用激增,请检查以下情况:
- 批量注释作业 未进行限流。
- 自动化机器人 重复注释同一文档。
- 缺少缓存,导致每次请求都重新注释相同文档。
通过在服务器端添加速率限制和缓存已处理文档来缓解。
成本优化策略
| 策略 | 如何节省费用 |
|---|---|
| 批量处理 | 将多个注释操作合并为一次 API 调用;降低每页开销。 |
| 文档缓存 | 将已注释的 PDF 存储在 CDN 或 Blob 存储中;避免对未更改的文件重新注释。 |
| 使用警报 | 在 GroupDocs 门户中配置电子邮件警报,当每日使用量超过阈值(例如 5 000 页)时触发。 |
| 选择性功能启用 | 通过 AnnotationOptions 禁用不常用的注释类型(例如 3‑D 印章),以减少不必要的处理。 |
何时选择计量授权 vs. 传统授权
当您的注释量波动或倾向于基于使用量计费时,选择计量授权;而对于持续高且可预测的工作负载或无互联网环境,则选择永久授权。评估每月页面数量、预算灵活性和网络限制等因素,以选取最具成本效益的模型。
结论
为 GroupDocs.Annotation .NET 设置 计量许可证 相对简单,但其真正价值在于提供的灵活性和费用透明度。按照上述步骤操作,确保密钥安全,并采用生产最佳实践,您即可实现可扩展的按使用付费文档注释,随业务增长而扩展。
请记得定期监控使用情况,确保凭证安全,并利用内置日志保持费用可预测。无论您是构建协作审阅平台、法律文档管理系统,还是简单的注释小部件,计量授权模型都能确保您仅为实际提供的价值付费。
常见问题
Q: 我可以在商业项目中使用 GroupDocs.Annotation for .NET 吗?
A: 可以,一旦拥有有效的计量或永久许可证,该库即可完全用于商业用途。
Q: 是否有试用版可用于测试计量许可证流程?
A: 有,您可以从 website 获取免费试用。
Q: 如何获取许可证问题的技术支持?
A: 请访问 GroupDocs 论坛 here 提交问题或打开支持工单。
Q: 临时许可证是否适用于短期评估?
A: 当然——我们提供有限期限的临时许可证。详情请见 this link。
Q: 计量许可证的使用跟踪精度如何?
A: 跟踪精度到单页注释;报告通常在 24 小时内刷新。
最后更新: 2026-06-06
测试环境: GroupDocs.Annotation 23.12 for .NET
作者: GroupDocs