Generally speaking, you can restart your site due to application performance issues. For example, you may have a memory leak in the application, closing connections, or other things that will degrade application performance over time. When you control your site and observe similar conditions, you can decide to reload it. Even better, you can even automate the restart task when these conditions occur. In any case, such things are not unique to Azure Websites. You would take similar steps for a site site.
As for configuration changes, if you make changes to your web.config file, this change will be detected and your site will automatically restart for you. Similarly, if you make configuration changes on the CONFIG page of your website on the Azure management portal, such as application settings, connection strings, etc., then the Azure websites will detect this change in your environment and automatically restart it.
Indeed, restarting the website will cause the session data stored in memory to be lost for this instance. In addition, if you have a startup / initialization code that takes time to complete, then this will need to be repeated. Again, this is not something unique to Azure Websites.
source share