Automatisk uppdatering görs inte direkt

Även om det ibland kallas för omkompilering, kompilering, omladdning eller något annat handlar det om att när man laddar upp en ny ASP.NET-textfil (kan vara exempelvis web.config eller .aspx) så visas fortfarande det gamla resultatet via webbläsaren.

Följande är den mer tekniska bakgrunden till varför det inte fungerar.

I ASP.NET v2.0 används uteslutande något som kallas FileChangeNotifications (FCN):

Det Win32-anropet som används finns beskrivet i MSDN som FindFirstChangeNotification:

Det innebär att en katalog eller filsystem separat monitoreras och att applikationen får information när ändringar görs.

ASP.NET-applikationer laddas om (recycle) så fort någon ändring detekteras (katalog eller fil skapas, tas bort eller ändras).

I vår webbmiljö har vi en kraftig Network Attached Storage (NAS) där allt kundmaterial finns och respektive Windows-server använder sig av den via SMB/CIFS.

FindFirstChangeNotification fungerar även över SMB/CIFS för ett mindre antal kataloger (alltså inte för så många kundkataloger som vi har) och Microsoft har beskrivit begränsningarna på:

Det finns i dagsläget inte något sätt att lösa den begränsningen i ASP.NET.

Det sker en periodisk omladdning (recycle) av alla ASP.NET-applikationer ungefär en gång per dygn (baserat på när respektive applikation senast laddades om), men i Loopia Kundzon kan du själv begära att ASP.NET-applikationen ska laddas om, exempelvis efter att du gjort en ändring.

Network Appliance, som tillverkat våra NAS-maskiner, meddelar att man sannolikt kan arbeta förbi begränsningen i en senare version av deras operativsystem.

Hjälpte denna guide dig?

Relaterade guider