1. Home
  2. Utveckling/Teknik
  3. Automatisk uppdatering görs inte direkt

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.

Was this article helpful?

Related Articles