ThreeMammals / Ocelot

.NET API Gateway
https://www.nuget.org/packages/Ocelot
MIT License
8.38k stars 1.64k forks source link

Ocelot configuration been re-write after IIS pool idle timeout #1556

Closed nikolay-dimitrov closed 10 months ago

nikolay-dimitrov commented 2 years ago

Hello everyone Im facing really strange behaviour from Ocelot while im using the great feature for merging multiple configuration files 1) After Ocelot is been deployed and started(on IIS) for first time is creating automatically ocelot.Production.json file which has exactly the same configurations like ocelot.json file(this file is again created on first start of the application and its contains the merge result of my sub-configurations files) - is there a way Ocelot not to create ocelot.Production.json. Just as remark the Gateway is running on this moment without any problems no matter of the fact that both files (ocelot.Production.json and ocelot.json are exactly the same) 2) After the IIS pool idle timeout and durring the next request for some reason Ocelot is re-building the ocelot.Production.json and ocelot.json BUT this time it start to return and error that there are duplicated Routes - extremely strange because the files again contains the same configurations 3) If we are using Administration API to change the configurations on run time and then leave the IIS pool idle timeout on the next request ocelot is will merge again all sub-configurations files which is resulting that changes made from Administration API are deleted

Does any one face this as a problems and if its possbile to provide some guidelines

raman-m commented 10 months ago

Hi Nikolay! Are you still with Ocelot?

You were facing with IIS Gotchas, probably on 99% Please use self-hosted Kestrel and Docker deployment instead of IIS. For development environment it is better to host Ocelot app in console. Good luck!