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

如何使用.NET Standard访问Azure Function App连接字符串

在.NET Standard 2.0的Azure Function脚本中获取连接字符串的正确方式

嗨,这个问题我之前做Azure Functions开发时也碰到过,在.csx脚本环境里直接用ConfigurationManager确实容易踩坑,给你几个靠谱的解决方法:

方法一:使用Environment.GetEnvironmentVariable(最简单直接)

Azure Function会自动把你在门户里配置的连接字符串转换成环境变量,命名规则是CONNECTIONSTRINGS_<连接字符串名称>(注意名称要改成大写,空格换成下划线)。比如你的连接字符串叫my string,对应的环境变量就是CONNECTIONSTRINGS_MY_STRING。

代码示例:

using System;

public static void Run(/* 你的函数参数,比如 HttpRequest req, ILogger log */)
{
    var connectionString = Environment.GetEnvironmentVariable("CONNECTIONSTRINGS_MY_STRING");
    // 接下来就可以使用connectionString了
}

方法二:注入IConfiguration(推荐,符合Azure Functions设计规范)

在Azure Functions中,更推荐用依赖注入的方式获取配置,你可以直接在函数的参数列表里添加IConfiguration,然后通过它来获取连接字符串,不需要额外引用其他包。

代码示例:

using Microsoft.Extensions.Configuration;

public static async Task<IActionResult> Run(
    HttpRequest req, 
    IConfiguration config, 
    ILogger log)
{
    var connectionString = config.GetConnectionString("my string");
    // 使用连接字符串进行后续操作
    return new OkObjectResult($"连接字符串已获取:{connectionString}");
}

这种方式和.NET Core/.NET 5+的配置体系一致,不管是本地调试还是部署到Azure都能无缝适配。

方法三:如果一定要用ConfigurationManager(不推荐,但可以实现)

如果你坚持要用ConfigurationManager,需要在.csx脚本的顶部添加正确的程序集引用和NuGet包引用:

#r "System.Configuration"
#r "nuget: System.Configuration.ConfigurationManager, 4.7.0"

using System.Configuration;

public static void Run(/* 函数参数 */)
{
    var connectionString = ConfigurationManager.ConnectionStrings["my string"].ConnectionString;
}

不过这种方式在Azure Functions脚本环境里容易出现版本兼容问题,所以还是更推荐前两种方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:43:18