โฟลเดอร์“ ไฟล์ชั่วคราวของ ASP.NET” มีไว้เพื่ออะไร?


157

ฉันค้นพบโฟลเดอร์นี้C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Filesแล้วและมีคำถามสองสามข้อ

  • ASP.NET ใช้โฟลเดอร์นี้เพื่ออะไรและจัดเก็บไฟล์ประเภทใดไว้ที่นี่
  • ไฟล์จะถูกจัดเก็บที่นี่ได้อย่างไรและเมื่อใดจะมีการอัพเดท?
  • โฟลเดอร์ต้องการการบำรุงรักษาประเภทใดหรือไม่

9
C:\Users\[Username]\AppData\Local\Temp\Temporary ASP.NET Filesในกรณีที่คนใดคนหนึ่งที่กำลังมองหาไดเรกทอรีนี้ดูเหมือนว่าจะได้ย้ายไป
ปีเตอร์

คำตอบ:


174

สิ่งเหล่านี้เป็นสิ่งที่เรียกว่า Shadow Copy Folders

ง่าย ๆ .... และฉันหมายถึง:

เมื่อ ASP.NET เรียกใช้แอปของคุณเป็นครั้งแรกมันจะคัดลอกแอสเซมบลีใด ๆ ที่พบในโฟลเดอร์ / bin คัดลอกไฟล์ซอร์สโค้ดใด ๆ ASP.NET จะสร้าง / คอมไพล์รหัสทั้งหมดนี้เป็นแอปพลิเคชั่นที่รันได้

ข้อดีอย่างหนึ่งของการทำเช่นนี้คือป้องกันความเป็นไปได้ของ. NET แอสเซมบลี DLL # (ในโฟลเดอร์ / bin) ถูกล็อกโดยกระบวนการของผู้ปฏิบัติงาน ASP.NET และจึงไม่สามารถอัปเดตได้

ASP.NET คอยเฝ้าดูการเปลี่ยนแปลงไฟล์ในเว็บไซต์ของคุณและหากจำเป็นจะต้องเริ่มกระบวนการทั้งหมดใหม่อีกครั้ง

ตามหลักการแล้วโฟลเดอร์นั้นไม่จำเป็นต้องบำรุงรักษา แต่เป็นครั้งคราวและมีเพียงไม่กี่ครั้งที่คุณอาจต้องลบเนื้อหา ที่กล่าวว่าฉันทำงานให้กับ บริษัท โฮสติ้งเราทำงานได้มากถึง 1200 ไซต์ต่อเซิร์ฟเวอร์ที่ใช้ร่วมกันและฉันไม่ต้องแตะโฟลเดอร์นี้ในเครื่อง 250 เครื่องหรือมากกว่านั้นเป็นเวลาหลายปี

สิ่งนี้ได้อธิบายไว้ในบทความ MSDN การทำความเข้าใจกับ ASP.NET Dynamic Compilation


สวัสดี Kev ฉันมี com dll ซึ่งได้รับการคัดลอกลงในโฟลเดอร์นี้ dll ต้องการไฟล์ config บางไฟล์ในโฟลเดอร์ปัจจุบันเพื่อ inorder เพื่อดำเนินการ ฉันจะมั่นใจได้อย่างไรว่าพวกเขาจะถูกคัดลอกไปยังโฟลเดอร์นี้?
Rakesh

2
@robot - คุณอาจพบคำตอบอยู่แล้ว แต่เพื่อประโยชน์ของผู้อ่านในอนาคตคุณสามารถค้นหาตำแหน่ง "ดั้งเดิม" ของ DLL โดยใช้ Reflection แล้วเข้าถึงไฟล์กำหนดค่าด้วยวิธีนั้น ดูstackoverflow.com/a/837501/211627
JDB ยังคงจดจำโมนิก้า

2
ดูเหมือนว่าโฟลเดอร์นี้จะเติมให้ฉันเนื่องจากการรวมอย่างต่อเนื่อง - ทุกครั้งที่มีการใช้งานไซต์ (หลายครั้งต่อวัน) สำเนาใหม่จะถูกสร้างขึ้นในโฟลเดอร์ - 29GB จนถึงขณะนี้
Andy Joiner

3
ในฐานะที่เป็นบริการโฮสติ้งเว็บไซต์บางทีคุณอาจไม่เคยสัมผัสโฟลเดอร์นี้ แต่สำหรับนักพัฒนามันเป็นเรื่องที่น่าปวดหัวที่สุดที่เราต้องรับมือด้วยฉันใช้เวลาทั้งวันในการพยายามแก้ไขสิ่งที่ควรเป็นปัญหาเล็กน้อย แต่การรวม IIS IIS โครงการรูปแบบเว็บไซต์คัดลอกและ Visual Studio เป็นฝันร้ายที่จะทำงานกับและฉันต้องล้างเนื้อหาในโฟลเดอร์นี้หลายครั้งทุกวัน
bikeman868

8

CLR ใช้มันเมื่อคอมไพล์เมื่อรันไทม์ นี่คือลิงค์ไปยังMSDNที่อธิบายเพิ่มเติม


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.