Solución:
Tienes un error fundamental en tu código.
Primero configura un AppSetting:
<configuration>
<appSettings>
<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=account- name;AccountKey=account-key" />
</appSettings>
</configuration>
Luego intentas obtener una cadena de conexión:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
Esto simplemente no funcionará. Cuando configura AppSetting, debe leer AppSetting. Cuando configura ConnectionString, necesita leer Connection String.
Entonces, la solución es simplemente mantener web.config como está y cambiar la línea donde obtiene la cuenta de almacenamiento a:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"]);
O mantenga su línea para las cadenas de conexión pero cambie web.config a:
<configuration>
<connectionStrings>
<add name="StorageConnectionString"
connectionString="DefaultEndpointsProtocol=https;AccountName=account- name;AccountKey=account-key" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Y, por supuesto, debe poner sus valores reales para la cuenta de almacenamiento en la nube y la clave de la cuenta de almacenamiento (account-name
simplemente nunca funcionará).
Esta es una documentación más mala de Azure, el artículo de hecho le dice que cree un AppSetting y luego el código le dice que recupere un ConnectionString.
La solución alternativa es almacenar los detalles como ConnectionString y dejar el código como está:
<add name="StorageConnectionString" connectionString="DefaultEndpointsProtocol=https;AccountName=your-account;AccountKey=your-key" />