ข้อเสียที่เป็นไปได้ของไซต์ IIS 7 ที่มีจุดเชื่อมต่อ NTFS เป็นเว็บรูทคืออะไร


13

ฉันพยายามหาวิธีปรับใช้โค้ด ASP.NET ด้วยการรบกวนไซต์น้อยที่สุดเท่าที่จะทำได้ หนึ่งความคิดคือการตั้งค่าเว็บไซต์ที่จะให้บริการจากทางแยก NTFS c:\www\example.comที่

c:\www\example.com -> c:\www\example.com_r1234

จากนั้นเมื่อมีการปรับใช้รหัสใหม่มันจะถูกคัดลอกไปยังc:\www\site.com_r1235และจุดเชื่อมต่อจะถูกกำหนดเป็น

c:\www\example.com -> c:\www\example.com_r1235

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

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

เพื่อความชัดเจนข้อกังวลเดียวของฉันที่นี่คือประสบการณ์ของผู้ใช้ปลายทางของฉัน เป้าหมายของฉันคือการหลีกเลี่ยงสิ่งรบกวนสำหรับพวกเขาไม่ใช่ความสะดวกสบายสำหรับฉัน


1
รีเซ็ตเว็บรูท การรีไซเคิลใด ๆ (อย่าคิดว่าเป็นไปได้) และการเริ่มต้นกลุ่มแอปใหม่นั้นอาจเป็น "ไม่จำเป็น" และข) ช่วยให้กระบวนการของผู้ปฏิบัติงานคงความคิดที่เป็นจริงเกี่ยวกับสถานะของเนื้อหาและแคช มันเป็นทางออกที่ฉลาดแน่นอน แต่ไม่ค่อยฉลาดหมายถึงความมั่นคง ค้นหาสิ่งที่คนส่วนใหญ่ทำแล้วทำเช่นนั้น
TristanK

นั่นเป็นคำถามที่ยอดเยี่ยมฉันกำลังมองหาคำตอบสำหรับสิ่งนั้นมาเป็นเวลานาน ทั้งหมดที่ฉันเคยเห็นคือการปรับใช้แบบหมุนภายใต้โหลดบาลานเซอร์ (ซึ่งฉันไม่มี) หรือสำเนา / ไฟล์ svn ธรรมดา ๆ ลงใน webroot (ซึ่งฉันไม่ชอบ)
jayrdub

1
ดังนั้นให้ลองกำหนดค่ารูทเว็บใหม่ก่อน
TristanK

คำตอบ:


3

วิธีในการปรับใช้รหัส ASP.NET ด้วยการรบกวนไซต์น้อยที่สุดเท่าที่จะทำได้

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

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


การดำเนินการเครือข่ายนั้นจะทำให้สิ่งประดิษฐ์ของไซต์อยู่ในสถานะคลุมเครือนานเกินไป นั่นเป็นสถานการณ์ที่แน่นอนที่ฉันพยายามหลีกเลี่ยง ฉันพยายามที่จะกำจัดเวลาที่การชุมนุมภายใต้ webroot เป็นรุ่นที่แตกต่างกัน
jayrdub

1
"งานพิเศษและสคริปต์ที่เกี่ยวข้อง" ไม่เป็นข้อกังวลเราเป็นระบบอัตโนมัติอย่างสมบูรณ์
jayrdub

ฉันเดาว่ายุติธรรมงานรบกวนและงานที่ต้องการไม่ใช่สิ่งเดียวกันจริงๆ
Mark Henderson

ความวุ่นวายของผู้ใช้เว็บไซต์ของฉันคือสิ่งที่ฉันหมายถึง
jayrdub

2

ฉันสร้างโฟลเดอร์ที่อยู่เบื้องหลังเว็บรูทของฉันชื่อ _images

C:\DEV\_IMAGES

จากนั้นคัดลอกไฟล์ gif ไปไว้ในนั้น จากนั้นฉันก็สร้างลิงค์สัญลักษณ์ของ NTFS ขึ้นมาบนรูท

C:\DEV\PROJECT\ROOT mklink /D webimages ..\_images

ใน Visual Studio 2010 ฉัน "แสดงไฟล์ทั้งหมด" จากนั้นรีเฟรช ... และรวม "webimages" ใหม่ลงในโครงการของฉัน ตอนนี้ฉันสามารถชี้ไปที่ ...

img src='webimages/icon.gif'

เมื่อฉันเรียกใช้แอพมันก็ใช้ได้ดีเช่นกันบนเครื่องท้องถิ่น

ฉันไม่ทราบว่ามันใช้งานได้จริงบนเซิร์ฟเวอร์ (IIS 7) จนกว่าโครงสร้างพื้นฐานจะได้รับการจัดการกับเรื่องนี้ไม่มีใครรู้ปัญหาใด ๆ เกี่ยวกับสาเหตุที่ไม่สามารถใช้งานได้จริงหรือไม่?

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

ฉันยังไม่ได้พยายามแสดงสิ่งนี้ใน TFS ดังนั้นหากใครมีข้อเสนอแนะเกี่ยวกับเรื่องนี้โปรดแจ้งให้เราทราบ!


0

สิ่งนี้จะไม่ทำงานเนื่องจาก IIS อาจคิดว่า web.config มีการเปลี่ยนแปลงโดยโปรแกรมอื่น IIS อาจจะโยนข้อยกเว้น System.Configuration.ConfigurationErrorsException ฉันขอแนะนำให้เขียนสคริปต์บางประเภทเพื่อเปลี่ยนไดเรกทอรีบ้านของเว็บไซต์

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