We have a multi-tenant web application. I recently created a couple of blank websites in our production environment which acts as a reverse proxy using IIS 7.5 and ARR 3.0 (Applicatin Request Routing)
the idea was this:
(A) www.product.com -> rewrite to -> www1.product.com
(B) reports.product.com -> rewrite to -> reports1.product.com
- I enabled the two proxy websites and disabled disk caching.
- memory cache duration was default 60.
- Query string support was "ignore query string"
- inbound rewrite rules on proxy for website A from pattern (.*) to http://www1.product.com/{R:1}
- inbound rewrite rules on proxy for website B from pattern (.*) to http://reports1.product.com/{R:1}
When deploying this I realized that www.product.com behaved as expected, but reports.product.com suddenly returned cached responses across tenants, and I quickly turned it off.
I checked the IIS logs on the proxy server on reports.product.com and all querystrings had the X-ARR-CACHE-HIT=0 which tells me that ARR didn't cache, but it must have. (not one entry had the value 1)
My questions is:
- I know I f*** up and forgetting setting the memory cache duration to 0, but will setting memory cache duration to 0 COMPLETELY disable caching on the proxy server? I don't want any caching to be done at all.
- Is the setting "Query string support" related to disk cache only? or is it affecting ARR's memory cache also?
- Why isn't there an option to disable memory cache?
- Why did I experience on one website only? The settings were the same on proxies for both website A and B (website B has sessionState=InProc, but there were only one instance, no server farm)
thanks in advance,