我的Azure功能应用程序已定义ConnectionString。我想从用dotnet标准2.0编写的C#函数中检索它。我尝试将System.Configuration.ConfigurationManager
添加到project.json并使用
var str = ConfigurationManager.ConnectionStrings["my string"].ConnectionString;
但我收到了错误
run.csx(24,15):错误CS0103:当前上下文中不存在名称“ConfigurationManager”
如何访问连接字符串?
答案 0 :(得分:10)
Configuration Functions在Azure Functions v2 .NET Standard项目中不可用。 Azure FUnction v2现在使用ASPNET Core Configuration。
您可以按照这些说明操作。
在run方法中添加第3个参数。
public static async Task<HttpResponseMessage> Run(InputMessage req, TraceWriter log, ExecutionContext context)
在run方法中,添加以下代码。
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
然后您可以使用此变量访问应用设置。
有关如何在v2中使用AppSettings和ConnectionStrings的说明,您可以看到this blog。
答案 1 :(得分:3)
run.csx(24,15):错误CS0103:当前上下文中不存在名称“ConfigurationManager”
根据上述说明。您似乎需要在dotnet标准2.0类库中添加引用System.Configuration。我在本地测试它在我身边正常工作。
public class TestGetConnectionString
{
public string ConnectionString;
public TestGetConnectionString()
{
var str = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
ConnectionString = str;
}
}
<强>更新强>
在您的情况下,您还可以在Azure功能appsetting中添加连接字符串。您可以参考屏幕截图的详细信息。我们可以通过以下代码轻松访问它。
var connectionstring = Environment.GetEnvironmentVariable("ConnectionString");
在天蓝色的门户网站上进行测试。