ความแตกต่างระหว่างแอปพลิเคชันและไดเรกทอรีเสมือน


11

ฉันเป็นนักพัฒนา asp.net ฉันมักสับสนระหว่างแอปพลิเคชันและไดเรกทอรีเสมือนใน IIS ดูเหมือนว่าใน iis 6.0 คุณสามารถสร้างไดเรกทอรีเสมือนได้เท่านั้น


1
ใน IIS6 คุณสร้างไดเรกทอรีเสมือนและแปลงเป็นแอปพลิเคชัน
Mark Henderson

คำตอบ:


13

สองคนนั้นสับสนง่ายและผู้คนมักจะใช้คำศัพท์แทนกัน

ไดเรกทอรีเสมือนเป็นเพียงตัวชี้ไปยังตำแหน่งอื่นบนดิสก์ มันชี้ไปที่พา ธ คงที่บนดิสก์ที่แตกต่างจากโฟลเดอร์พาเรนต์

แอปพลิเคชันเป็นขอบเขตระหว่างโฟลเดอร์ต่าง ๆ ASP.NET ใช้เพื่อสร้างรูทของ AppDomain ใหม่ (หรือรูทแอปพลิเคชัน) แอปพลิเคชันรูทใช้ global.asax, โฟลเดอร์ bin และ app_ อื่น ๆ [โฟลเดอร์] อื่น

ใน IIS6 และ IIS7 ถ้าคุณสร้างไดเรกทอรีเสมือนมันไม่ใช่แอปพลิเคชันโดยค่าเริ่มต้น ASP.NET จะวางไว้ใน AppDomain เดียวกับโฟลเดอร์หลัก

ใน IIS6 คุณสามารถแปลงไดเรกทอรีเสมือนหรือโฟลเดอร์ปกติเป็นแอปพลิเคชันโดยการคลิกขวา -> คุณสมบัติและสร้าง

ใน IIS7 มีการตั้งชื่อตัวเลือกต่างกัน แต่จะเหมือนกันในพื้นหลัง การสร้างไดเรกทอรีเสมือนช่วยให้คุณสร้าง vdir ที่ยังคงเป็นส่วนหนึ่งของ AppDomain ของแม่เช่นไม่ใช่แอปพลิเคชัน)

ตัวเลือก "เพิ่มแอปพลิเคชัน" จะสร้างไดเรกทอรีเสมือนจริงจากนั้นทำเครื่องหมายว่าเป็นแอปพลิเคชัน (คุณจะสังเกตเห็นว่ามันช่วยให้คุณสามารถระบุเส้นทาง)

คุณสามารถคลิกขวาที่โฟลเดอร์ที่มีอยู่ (หรือ vdir) และแปลงเป็นแอปพลิเคชัน นี่เป็นวิธีสร้างขอบเขตแอปพลิเคชันในโฟลเดอร์ปกติหรือโฟลเดอร์เสมือนที่มีอยู่


เว็บไซต์เริ่มต้นใน IIS 7 ของฉันกำลังเรียกใช้ MOSS 2007 (SharePoint) เนื่องจากฉันต้องการให้ผู้ใช้รู้สึกว่าพวกเขายังคงอยู่ในพอร์ทัลฉันจึงสร้างแอปพลิเคชั่นเว็บ ASP.NET ที่มีตราสัญลักษณ์ในทำนองเดียวกันและตั้งค่าเป็นแอปพลิเคชันเสมือนที่ใช้ไดเรกทอรีเสมือน ทั้งเว็บไซต์เริ่มต้นและแอปพลิเคชัน ASP.NET นี้กำลังใช้พูลแอปพลิเคชันเดียวกัน ก่อนอื่นนี่คือการปฏิบัติที่ปลอดภัย / ดีหรือไม่? ประการที่สองถ้าฉันเปิดใช้งานและใช้งานเซสชันในแอปพลิเคชัน ASP.NET จะมีผลกระทบต่อความสมบูรณ์ / ประสิทธิภาพของเซสชันที่จัดการของ SharePoint หรือไม่และส่งผลกระทบต่อ SharePoint ในลักษณะอื่นหรือไม่
ผู้ใช้เว็บ

@WebUser คุณสามารถใช้แอพพลิเคชั่นเดียวกันได้และเนื่องจากเป็นแอพพลิเคชั่นที่แยกจากกันในแอพพลิเคชั่นสถานะเซสชันจึงแยกออกจากกัน อย่างไรก็ตามฉันขอแนะนำให้ใช้แอพแยกต่างหาก หากสิ่งหนึ่งล้มเหลวคุณไม่จำเป็นต้องนำทั้งสองอย่างนี้ไปรีไซเคิลหรือแก้ไขอีกด้านหนึ่ง และคุณจะมีความยืดหยุ่นมากขึ้นในการล็อคการอนุญาต NTFS เพื่อแยกสิทธิ์ออกจากกัน
Scott Forsyth - MVP

@ ScottForsyth-MVP ฉันทำตามคำแนะนำของคุณเพราะฉันต้องการให้พวกเขาโดดเดี่ยวโดยสิ้นเชิง ฉันสร้างสระว่ายน้ำสมัครใหม่และบัญชีบริการใหม่และใช้นี้บทความการตั้งค่าตัวตน ฉันไม่รู้ว่าทำไม แต่แอปพลิเคชันพ่นSystem.UnauthorizedAccessExceptionหลังจากผ่านไปครู่หนึ่งเพื่อแสดงหน้า; แอปพลิเคชันยังคงทำงานได้ แต่มันช้าและให้ข้อยกเว้นแจ้งให้ฉันเปิด Visual Studio ความคิดใด ๆ เกี่ยวกับสิ่งที่ฉันหายไป?
ผู้ใช้เว็บ

@ ScottForsyth-MVP คุณช่วยโปรดดูคำถามนี้ฉันโพสต์ใน ServerFault? ขอบคุณ!
ผู้ใช้เว็บ

@WebUser อาจเป็นไปได้ว่าคุณต้องเพิ่มข้อมูลประจำตัวที่กำหนดเองของคุณในกลุ่ม IIS_WPG นั่นเป็นข้อกำหนดใน IIS6 ฉันตอบกลับโพสต์อื่นของคุณด้วย
Scott Forsyth - MVP

2

คุณสามารถตรวจสอบ .. คุณรู้หรือไม่: ความแตกต่างระหว่างไดเรกทอรีเสมือนและแอปพลิเคชันใน IIS 7 / 7.5

แก้ไข: หากต้องการอ้างถึงเว็บไซต์เนื่องจากลิงค์เสียชีวิต;

ใน IIS 7 / 7.5 คุณมีตัวเลือกในการสร้างไดเรกทอรีเสมือนและแอปพลิเคชัน

ไดเรกทอรีเสมือนคืออะไร

ไดเรกทอรีเสมือนเป็นไดเรกทอรีที่แมปไปยังไดเรกทอรีทางกายภาพภายในเครื่องหรือไดเรกทอรีบนเซิร์ฟเวอร์ระยะไกล ไดเรกทอรีเสมือนจะมีรหัสของมันดำเนินการในกระบวนการของผู้ปฏิบัติงานเช่นเดียวกับกระบวนการหลัก กลุ่มแอพพลิเคชั่นของเว็บไซต์และไดเรกทอรีเสมือนนั้นเหมือนกัน

Image05

แอปพลิเคชันคืออะไร

แอปพลิเคชันเหมือนกับไดเรกทอรีเสมือนยกเว้นว่าคุณมีตัวเลือกให้เรียกใช้แอปพลิเคชันในกลุ่มแอปพลิเคชันอื่น

Image06

หมายเหตุ: นี่เป็นลักษณะภาพหน้าจอด้านบนใน applicationhost.config


0

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

เพิ่มแอปพลิเคชั่นคืออะไร แต่เป็นกลุ่มของไฟล์ที่นำเสนอเนื้อหาหรือให้บริการผ่านโปรโตคอล แอปพลิเคชันเป็นของกลุ่มแอปพลิเคชัน สมมติว่าเนื่องจากเว็บไซต์เริ่มต้นมีปัญหาขัดข้องจึงไม่ส่งผลกระทบต่อแอปพลิเคชันใด ๆ ที่เป็นของกลุ่มแอปพลิเคชัน

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