I have an ASP.NET MVC web application deployed to Azure. I'm reading my setting using the GetEnvironmentVariable(...)
method.
The problem is that I can't find a way to define this environment variable in Azure Portal. Where can I do that?
I don't want to have this stuff in a file. Data that will be there are credentials.
I assume you are using Azure App Service (formerly known as Azure Websites).
To define your own environment variable, click to your site → All Settings → Application settings:
Add an app setting in the "App settings" section:
You can verify the value from the debug console.
Going to https://{your site name}.scm.azurewebsites.net/DebugConsole:
I came across this question when facing the same problem myself. Well, just to give a clearer answer which I found at blog.elmah.io.
All you need to do is:
- Include the new appsetting.{env}.json in the publishOptions in file
project.json
.
- Go to Azure Portal and open the web application.
- Select application settings.
- Add an entry for ASPNETCORE_ENVIRONMENT and set it to whatever you want.
That's it.
Actually this solves my problem (which I found yesterday - and it's on Scott Hanselman's blog also):
Best practices for private config data and connection strings in configuration in ASP.NET and Azure
TLDR;
Put settings in a separate file that doesn't go to the repository and are not being deployed to the server. Next define missing variables in app settings like Xiaomin Wu showed.