.Net Core 2.0 in Azure App Service RRS feed

  • Question

  • Good morning/afternoon/evening! My name is Vladimir.

    We have a 2 problems with app services on windows in Azure.

    First - if we use .net core 2.0 applications - we must use IIS as proxy server, but IIS not just a proxy - it is trying to be smarty that are wrong. We have requests URLs that contains 2500 symbols but IIS by default support only 2048. For fixing it - we need to modificate web.config file, but it is abnormal because .net core 2.0 application dont have web.config

    Second - we have a strange delay between requests on IIS side but it will be actually when i get info from developers.

    So, question... Is it normal behavior for azure app service based on windows? Can we use app service on windows w/o IIS server by starting self-hosted app on 80 port? If we cannot - what should be better? Have you some "best practice" to use .net core 2.0 application on azure app service?


    Thursday, December 21, 2017 9:08 AM

All replies

  • Hi Vladimir,

    You're right about IIS, it's not just a proxy, but in case of .Net Core application, IIS is just used as reverse proxy (like Apache or Nginx on Linux). In this context IIS is used to manage the requests to your application, guard the application in memory when it's required, manage SSL certificates, etc.

    In Azure IIS is used too for manage the load balancing features for example.

    As App Services are hosted by Windows 2016/IIS this is the normal behavior for hosting .NET Core 2.0 on Azure. 

    Because IIS is hosting your application, you can add a web.config file in the root of your application to configure the IIS part. You have documentation about hosting .Net Core application on IIS : https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x

    You can choose another hosting (on linux or docker) but in this case too you need use a reverse proxy (Nginx or Apache), specially if it's a public website.

    Don't forget, you're application is a standalone self-hosted web server (by Kestrel or other), but this "server" don't replace an IIS server (or Nginx, ...), it just accept requests to process it. It don't support HTTPS communication for example, or virtual host behavior. So we use a reverse proxy as frontend to route the request to the good application, and process HTTPS communication, Load Balancing feature. etc...

    For your delay between requests, I can't help you without more information.

    Hoping this help you,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    • Proposed as answer by Sheethal J S Monday, December 25, 2017 3:12 AM
    Thursday, December 21, 2017 10:41 AM