Where are my Azure Temp Files?

The location of temporary files for Azure Web Apps seems to always be D:\local\Temp. However, the entire D:\local folder is MOUNTED on different places for each web app by Azure.

This means that each web app will see a different D:\local, which is perhaps not too surprising. However, the real trick is that KUDU is by itself running as a separate process and gets its own private D:\local. So you are actually browsing KUDU's private D:\local and not that of your application.

Someone must have realized this can be a problem in debugging scenarios, so there is way to avoid this: add an app setting with name "WEBSITE_DISABLE_SCM_SEPARATION" and value "true" to your application through the Azure portal.

After the application has restarted then when using KUDU you should be able to see the same D:\local (including temporary files) as your application sees.

You should probably turn off this setting when you are done, as the default separation could be there for a reason.


Just found a (official) source, and further clarification, to the WEBSITE_DISABLE_SCM_SEPARATION(unsupported!) flag mentioned in Ole Tolshave's answer.

Kudu wiki page: Understanding the Azure App Service file system

Another important note is that the Main site and the scm site do not share temp files. So if you write some files there from your site, you will not see them from Kudu Console (and vice versa). You can make them use the same temp space if you disable separation (via WEBSITE_DISABLE_SCM_SEPARATION). But note that this is a legacy flag, and its use is not recommended/supported.

Tags:

Asp.Net

Azure