You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core中如何实现ReceiveCustomWebHooks接收功能?

在.NET Core中实现自定义WebHook接收端

首先要明确:原ASP.NET Framework里的InitializeReceiveCustomWebHooks()等扩展方法是针对传统Web API的,.NET Core采用了全新的服务注册与路由映射逻辑,对应实现方案如下:

1. 安装必要的NuGet包

需要安装适配.NET Core的WebHook相关依赖包:

  • Microsoft.AspNetCore.WebHooks.Receivers.Custom:自定义WebHook接收器核心包
  • Microsoft.AspNetCore.WebHooks.Storage.Azure:若需用Azure存储管理WebHook订阅(对应原InitializeCustomWebHooksAzureStorage())
  • Microsoft.AspNetCore.WebHooks:基础依赖包

可通过CLI命令安装:

dotnet add package Microsoft.AspNetCore.WebHooks.Receivers.Custom
dotnet add package Microsoft.AspNetCore.WebHooks.Storage.Azure

2. 配置服务与路由

根据你的.NET Core版本,配置方式分为两种:

.NET 6+ 最小API(Program.cs)

var builder = WebApplication.CreateBuilder(args);

// 注册WebHook相关服务,替代原.NET Framework中的Initialize系列方法
builder.Services.AddWebHooks()
    .AddWebHooksAzureStorage()   // 对应原InitializeCustomWebHooksAzureStorage()
    .AddWebHooksApis()           // 对应原InitializeCustomWebHooksApis()
    .AddCustomWebHooks();        // 对应原InitializeCustomWebHooks()

var app = builder.Build();

// 映射自定义WebHook接收端点,替代原InitializeReceiveCustomWebHooks()
app.MapCustomWebHooks("/api/webhooks");

// 保留原有API路由配置
app.MapControllers();

app.Run();

.NET Core 3.1及以前(Startup.cs)

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers();

        // 注册WebHook服务
        services.AddWebHooks()
            .AddWebHooksAzureStorage()
            .AddWebHooksApis()
            .AddCustomWebHooks();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseRouting();
        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            // 映射WebHook接收端点
            endpoints.MapCustomWebHooks("/api/webhooks");
            endpoints.MapControllers();
        });
    }
}

关键说明

  • 原HttpConfiguration的扩展方法全部替换为IServiceCollection的服务注册方法和端点路由映射逻辑
  • 默认WebHook接收端点为/api/webhooks,可根据业务需求调整路径
  • 若无需Azure存储支持,直接移除.AddWebHooksAzureStorage()即可

内容的提问来源于stack exchange,提问作者Jsanchez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 09:01:09