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

本地运行.NET 8独立进程Azure Function gRPC遇连接拒绝问题

.NET 8 独立进程模型Azure Functions本地运行Grpc连接失败问题

问题现象

基于独立进程模型开发.NET 8 Azure Function,本地运行时抛出如下错误:

Grpc.Core.RpcException: 'Status(StatusCode="Unavailable", Detail="Error connecting to subchannel.", 
DebugException="System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it.")'

相关配置文件

local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
  }
}

host.json

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      },
      "enableLiveMetricsFilters": true
    }
  }
}

launchSettings.json

{
  "profiles": {
    "SchooxIntegration": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "applicationUrl": "http://localhost:7071",
      "environmentVariables": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
      }
    }
  }
}

修复方案

  • 统一存储配置并启动本地存储服务:
    将local.settings.json中的AzureWebJobsStorage值改为"UseDevelopmentStorage=true",与launchSettings保持一致。同时确保本地已安装并启动Azurite(或Azure Storage Emulator),否则无法使用开发存储账户。

  • 检查并处理Grpc端口占用:
    独立进程模型下,函数主机与工作进程默认通过50051端口的Grpc通信。打开命令提示符执行netstat -ano | findstr :50051,若端口被占用,可通过任务管理器结束对应进程,或在local.settings.json中添加"FUNCTIONS_WORKER_GRPC_PORT": "50052"(替换为未占用端口)修改Grpc端口。

  • 验证工具与运行环境版本:
    确认本地安装了.NET 8 SDK,且Azure Functions Core Tools为支持.NET 8的最新版本。可通过dotnet --version和func --version分别查看版本,版本不兼容则进行升级。

  • 清理重建项目:
    执行dotnet clean清理项目缓存,再运行dotnet build重建项目,之后重新启动函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:03:12