Wolverine:在 .NET 中组织訊息與應用内訊息
增強的.NET 伺服器端開發。支援計劃 雖然 Wolverine 是開源的,但 JasperFx Software 為 Wolverine 提供付費支援和諮詢合約。
秒懂
- 它是什麼?
- JasperFx Wolverine 是 .NET 應用的訊息处理框架,README 聚焦應用内訊息、外部訊息传输、路由、持久化、Marten 集成、测试和 OpenTelemetry。
- 適合誰用?
- 適合需要在 .NET 服務中编排訊息处理、传输路由和持久化的团队;不適合把示例中的訊息语义、云服務模拟或预發布版本直接当成生产承诺。先打开 `wolverine.sln`,用本地 Docker 驗證一個應用内 handler、一個外部 transport 和失败持久化,再单独記錄 Azure Service Bus 所需真实云环境。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 2 天前。
- 用什麼語言寫的?
- 主要是 C#(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
面向 .NET 的中介者和訊息匯流排 · jasperfx-wolverine-deep-analysis
README 开头將 Wolverine 称為下一代 .NET 中介者和訊息匯流排。儲存庫指向文档站点 wolverinefx.net,這也是儲存庫元資料中列出的主页。GitHub 描述称该專案面向"超强 .NET 服務端開發",但 README 本身並未详细说明這一说法涵盖什么。源材料中未出现基准测试、生产案例或使用者列表,因此该 README 並未确立具体的效能或采用声明。
針對目前 main 分支的採用判斷,應把 WolverineFx 6.0.0-alpha 預發布套件與 5.0 維護線分開處理;先在 wolverine.sln 所在目錄執行 docker compose up -d,確認測試服務啟動,再以 ./build.sh 檢查建置輸出。Azure Service Bus 測試不能用這組本機服務代替,必須另備 README 所說的實際雲端環境。
分支與版本线 · jasperfx-wolverine-deep-analysis
该儲存庫采用主版本行分支策略。main 分支用于 Wolverine 6.0 開發,当前發布為 WolverineFx 6.0.0-alpha 预發布包,新功能和 AOT 相关工作都在此进行。5.0 分支是維護分支,僅接收错误修复,從 V5.39.0 标签分出。一個名為 archive/cloudevents-attempt-2025 的归档分支包含一個從未合並的、不完整的 CloudEvents 功能。旧版本分支仍然存在,但不是活跃開發面。新贡献应针对 main,5.x 线的补丁候选可在对应 PR 合並到 main 后针对 5.0 提出。
处理代码 · jasperfx-wolverine-deep-analysis
要处理代码,请打开儲存庫根目錄中的 wolverine.sln。对于集成测试,本地需要安裝 Docker,並可用 docker compose up -d 启动匹配的测试服務。Azure Service Bus 测试是例外:它们需要实际的云环境,因為 README 表示 Microsoft 没有像 Localstack 那样的本地 Docker 模拟器。README 没有列出除该设置步骤之外執行单個测试的命令,也没有说明 docker compose 启动哪些服務。
贡献者约定與建置工具 · jasperfx-wolverine-deep-analysis
贡献者指南规定了一种命名风格:公共或内部成员使用 Pascal 大小写,私有或受保护成员使用 Camel 大小写,私有字段使用下划线前缀。建置脚本位于 /build 檔案夹,使用 Nuke。在 Windows 上執行 build,在 OSX 或 Linux 上執行 ./build.sh。文档內容位于 /docs,使用 Vitepress 建置,並透過 Markdown Snippets 处理代码示例。本地執行文档需要 Node.js,然后依次执行 npm install 和 npm run docs;npm run mdsnippets 用于更新代码片段。README 没有说明需要的 Node.js 版本。
历史與 critter stack · jasperfx-wolverine-deep-analysis
Wolverine 始于 2015 年的一個名為 Jasper 的專案,旨在重启 FubuMVC / FubuTransportation,一個更早的 Web API 框架和异步訊息匯流排。Wolverine 在 2022 年进行了大规模重启、改造和重命名,目的是與 Marten 结合,构成所谓的 critter stack,用于在 .NET 中进行高效的服務端開發。README 没有进一步说明 critter stack 包含什么,也没有说明组合方式或 2022 年重启除了名称和目标之外改变了什么。
支持、赞助與授權條款 · jasperfx-wolverine-deep-analysis
虽然 Wolverine 是开源的,但 JasperFx Software 為它提供付费支持和咨询合同,README 還链接到 GitHub 赞助页面。授權條款摘录為 MIT,版权归 Jeremy D. Miller 和贡献者所有。它授予使用、复制、修改、合並、發布、分发、再许可和出售软件副本的权利,但需满足条件:版权和许可声明必须出现在所有副本或实质性部分中。该软件按"原样"提供,不提供任何形式的保证。授權條款没有提及安全保证、支持级别或对特定用途的适用性(免责声明除外),README 中也没有描述单独的支持政策。
jasperfx-wolverine-deep-analysis 專案核對記錄第1項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第2項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第3項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第4項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第5項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第6項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第7項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第8項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第9項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第10項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第11項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第12項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第13項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
jasperfx-wolverine-deep-analysis 專案核對記錄第14項:以目前倉庫中已列出的功能和檔案為準,檢查輸入是否被接受、輸出是否落在預期位置、錯誤是否能由日誌辨識,以及重跑後訂單、商品、資料庫或命令結果是否維持一致。這項記錄只針對 jasperfx-wolverine-deep-analysis 的實際流程,文件沒有說明的性能、相容性和安全結果不作延伸判斷。
編輯結論
適合需要在 .NET 服務中编排訊息处理、传输路由和持久化的团队;不適合把示例中的訊息语义、云服務模拟或预發布版本直接当成生产承诺。先打开 `wolverine.sln`,用本地 Docker 驗證一個應用内 handler、一個外部 transport 和失败持久化,再单独記錄 Azure Service Bus 所需真实云环境。
社群筆記