Do czego służy folder „Temporary ASP.NET Files”?


157

Odkryłem ten folder w programie C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Filesi mam kilka pytań.

  • Do czego ASP.NET używa tego folderu i jakiego rodzaju pliki są tutaj przechowywane?
  • W jaki sposób plik jest tutaj przechowywany i kiedy jest aktualizowany?
  • Czy folder wymaga jakiejkolwiek konserwacji?

9
Jeśli ktoś szuka tego katalogu, wydaje się, że przeniósł się do C:\Users\[Username]\AppData\Local\Temp\Temporary ASP.NET Files.
Peter

Odpowiedzi:


174

Są to tak zwane foldery kopiowania w tle.

Upraszczając ... i naprawdę mam to na myśli:

Gdy ASP.NET uruchamia aplikację po raz pierwszy, kopiuje wszystkie zestawy znalezione w folderze / bin, kopiuje wszystkie pliki kodu źródłowego (znalezione na przykład w folderze App_Code) i analizuje pliki aspx, ascx do plików źródłowych C #. Następnie program ASP.NET buduje / kompiluje cały ten kod do postaci możliwej do uruchomienia aplikacji.

Jedną z zalet takiego rozwiązania jest to, że zapobiega możliwości zablokowania # biblioteki DLL zestawu .NET (w folderze / bin) przez proces roboczy ASP.NET, a tym samym niemożliwości jej aktualizacji.

ASP.NET obserwuje zmiany plików w Twojej witrynie i w razie potrzeby rozpocznie cały proces od nowa.

Teoretycznie folder nie powinien wymagać żadnej konserwacji, ale od czasu do czasu i bardzo rzadko może zajść potrzeba usunięcia zawartości. To powiedziawszy, pracuję dla firmy hostingowej, mamy do 1200 witryn na serwer współdzielony i od lat nie musiałem dotykać tego folderu na żadnym z 250 komputerów.

Jest to opisane w artykule MSDN Understanding ASP.NET Dynamic Compilation


Cześć Kev, mam plik dll com, który jest kopiowany do tego folderu, dll potrzebuje do wykonania niektórych plików konfiguracyjnych w swoim bieżącym folderze. jak mogę się upewnić, że są one również kopiowane do tego folderu?
Rakesh

2
@robot - Prawdopodobnie już znalazłeś odpowiedź, ale ze względu na przyszłych czytelników możesz znaleźć „oryginalną” lokalizację biblioteki DLL za pomocą narzędzia Reflection, a następnie uzyskać dostęp do plików konfiguracyjnych w ten sposób. Zobacz stackoverflow.com/a/837501/211627
JDB nadal pamięta Monikę

2
Wydaje mi się, że ten folder zapełnia się ze względu na ciągłą integrację - za każdym razem, gdy witryna jest wdrażana (kilka razy dziennie), w folderze jest tworzona nowa kopia - do tej pory 29 GB.
Andy Joiner

3
Jako usługa hostingu witryn internetowych może nigdy nie dotkniesz tego folderu, ale dla programistów jest to zdecydowanie największy ból głowy, z jakim mamy do czynienia. Spędziłem wiele dni próbując rozwiązać to, co powinno być trywialne, ale połączenie IIS shadow Kopiowanie i projekty w stylu witryny sieci Web Visual Studio są koszmarem do pracy i muszę codziennie czyścić zawartość tego folderu wiele razy.
bikeman868

8

Środowisko CLR używa go podczas kompilowania w czasie wykonywania. Oto łącze do MSDN, które wyjaśnia dalej.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.