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

如何配置多个Ngrok隧道运行多.NET应用对接Graph API不同订阅

解决方案步骤

1. 核心问题修正

你当前配置的核心错误是两个应用都占用了相同的本地端口,且Ngrok隧道都指向同一个本地端口,按以下顺序修改即可解决:

步骤1:为每个.NET应用配置独立监听端口

修改每个应用的launchsettings.json,分别指定不重复的端口,示例配置如下:

  • 第一个应用配置:
"msgraphapp1": {
  "commandName": "Project",
  "launchBrowser": true,
  "launchUrl": "api/values",
  "applicationUrl": "https://localhost:5001;http://localhost:5000",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
}
  • 第二个应用配置:
"msgraphapp2": {
  "commandName": "Project",
  "launchBrowser": true,
  "launchUrl": "api/values",
  "applicationUrl": "https://localhost:5003;http://localhost:5002",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
}

步骤2:修正Ngrok配置映射不同端口

修改ngrok.yml,让两个隧道分别指向不同应用的本地HTTP端口:

authtoken: 你的ngrok授权token
log: ngrok.log
tunnels:
  app1:
    addr: 5000
    proto: http
    host_header: localhost:5000
  app2:
    addr: 5002
    proto: http
    host_header: localhost:5002

启动Ngrok后会生成两个独立的公网HTTPS地址,分别对应两个本地应用。

步骤3:同步修改应用侧配置

每个应用的appsettings.json里的Ngrok字段,分别填写对应隧道的公网HTTPS地址,同时在Graph API的订阅配置中,通知URL也要和对应应用的Ngrok地址保持一致。

2. 替代隧道工具方案(可选,适配Graph场景更便捷)

如果不想手动配置Ngrok,可以使用微软官方Dev Tunnels,直接集成在Visual Studio中,无需额外安装配置,支持自动生成公网HTTPS地址,原生适配Graph API通知要求。

额外注意事项

  • Ngrok免费版重启后公网地址会变化,每次重启后需要同步更新应用配置和Graph订阅的通知地址
  • 每个应用的Azure AD应用注册、订阅ID要独立配置,避免订阅通知混淆

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:30:05