我已经在Visual Studio中创建了一个.NetCore应用程序,我希望从.json文件中获取连接字符串,我已经创建了.json文件launchSettings.json并添加了如图所示的配置变量。
{
"profiles": {
"TwinSample": {
"commandName": "Project",
"environmentVariables": {
"moduleEdgeHubConnectionString": "HostName=xxxx.xxx;DeviceId=xxxxx;ModuleId=xxxxxx;SharedAccessKey=xxxxx",
"moduleEdgeAgentConnectionString": "HostName=xxxx.xxx;DeviceId=xxxx;ModuleId=xxxxx;SharedAccessKey=xxxxx"
}
}
}
}
当我执行它时,.cs项目中的连接字符串为Null,即moduleEdgeHubConnectionString,而moduleEdgeAgentConnectionString无法从.json文件中获取值。
private static string moduleEdgeHubConnectionString = Environment.GetEnvironmentVariable("moduleEdgeHubConnectionString");
private static string moduleEdgeAgentConnectionString = Environment.GetEnvironmentVariable("moduleEdgeAgentConnectionString");
我还将“构建操作”之类的属性更改为“内容”,并复制到输出目录以始终复制。
您能帮我解决这个问题吗?
答案 0 :(得分:1)
在.net核心中,存储连接字符串的默认方式是在FlatList
文件的 ConnectionStrings 部分中。
appsettings.json
要获取连接字符串,请使用框架"ConnectionStrings": {
"moduleEdgeHubConnectionString": "HostName=xxxx.xxx;DeviceId=xxxxx;ModuleId=xxxxxx;SharedAccessKey=xxxxx",
"moduleEdgeAgentConnectionString": "HostName=xxxx.xxx;DeviceId=xxxx;ModuleId=xxxxx;SharedAccessKey=xxxxx"
}
接口扩展方法IConfiguration
GetConnectionString()
如果在不同的环境中需要使用不同的连接字符串,则可以随时添加新的var connectionstring = configuration.GetConnectionString("moduleEdgeHubConnectionString"):
文件。
查看此Actions SDK了解更多详细信息