Web kökü olarak NTFS kavşağına sahip bir IIS 7 sitesinin olası dezavantajları nelerdir?


13

ASP.NET kodu mümkün olduğunca az site bozukluğu ile dağıtmak için bir yol bulmaya çalışıyorum. Bir düşünce NTFS kavşağından hizmet verilecek sitesi kurmak oldu c:\www\example.comnerede

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

Ardından, yeni kod dağıtıldığında, kopyalanır c:\www\site.com_r1235ve bağlantı yeniden hedeflenir.

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

Benim sorum, bunun IIS'deki mevcut istekler üzerinde ne gibi etkileri olabileceğidir? IIS'nin değişikliğe tepkisi (varsa) açısından başka hangi sakıncaları olabilir? Bu, sitenin son kullanıcısı için umduğum kadar sorunsuz olacak mı?

(Sitenin web kökünü komut satırı üzerinden değiştirmeyi düşündüm, ancak olabilecek herhangi bir gereksiz uygulama etki alanı veya uygulama havuzu karmaşası nedeniyle IIS'yi yeniden yapılandırma fikrini gerçekten sevmiyorum, ancak hakkında çok şey bilmiyorum bir sitenin yapılandırılmış fiziksel yolu yük altındayken değiştirildiğinde ne olur)

Açık olmak gerekirse, buradaki tek endişem son kullanıcılarımın deneyimi. Amacım onlar için rahatsızlıklardan kaçınmak, benim için kolaylık değil.


1
Web kök dizinini sıfırlayın. Herhangi bir geri dönüşüm ( sanmıyorum ) ve uygulama havuzu yeniden başlatmaları a) muhtemelen "gereksiz" değildir ve b) çalışan sürecinin, içeriğinin ve önbelleklerinin durumu hakkında gerçekçi bir fikir tutmasına yardımcı olur. Bu akıllıca bir çözüm, elbette, ancak akıllı nadiren kararlı anlamına gelir. İnsanların çoğunun ne yaptığını öğrenin, sonra yapın.
TristanK

Bu harika bir soru, uzun zamandır buna bir cevap arıyordum. Tüm gördüğüm ya bir yük dengeleyici (ki ben yok) altında inişli çıkış ya da basit bir kopya / svn dosyaları webroot (sevmiyorum) içine olduğunu.
jayrdub

1
Bu nedenle, önce web kökünü yeniden hedeflemeyi deneyin.
TristanK

Yanıtlar:


3

ASP.NET kodunu olabildiğince az site bozukluğuyla dağıtmanın bir yolu.

Görünüşe göre bu hedef ve önerilen çözümünüz uyumlu değil, çünkü artık her dağıtım için bir sürü ekstra işiniz veya komut dosyanız var.

Gördüğüm bir şey, üretim sunucusuna bir svn istemcisi yüklemek ve üretim sitesi, kaynak denetim ağacında belirli bir konumun / dalın kullanıma alınmış bir kopyası. Bu şekilde en azından yeni dağıtımlar için değiştirilen dosyaları güncellemeniz gerekir.


Bu ağ işletimi, sitenin eserlerinin çok uzun süre bir belirsizlik durumunda olmasına neden olur. Bu kaçınmaya çalıştığım durum. Webroot altındaki derlemeler farklı sürümlerde olduğu zamanı ortadan kaldırmaya çalışıyorum.
jayrdub

1
"Ekstra çalışma ve senaryolar dahil" bir endişe değil, biz tam otomatik
jayrdub

Adil, rahatsızlık ve gereken iş gerçekten aynı şey değil sanırım
Mark Henderson

Sitemin son kullanıcısının rahatsızlığından bahsettiğim şey
jayrdub

2

Web kökümün arkasında adlı bir klasör oluşturdum _images

C:\DEV\_IMAGES

daha sonra bir grup gif dosyasını kopyaladı. Daha sonra kullanarak kökümde bir NTFS sembolik bağlantı oluşturdum

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

Visual studio 2010'da "Tüm Dosyaları Göster" i sonra yenile ... ve yeni "web görüntüleri" projeme dahil ediyorum. Şimdi işaret edebilirim ...

img src='webimages/icon.gif'

Uygulamayı çalıştırdığımda benim yerel makinede çok iyi çalışıyor.

Altyapı bu ele almak kadar gerçek sunucu (IIS 7) üzerinde çalışıp çalışmadığını bilmeyeceğim, kimse neden bu üretimde işe yaramazdı herhangi bir sorunları biliyor mu ??

Haklar var olduğu sürece hissediyorum ve eğer öyleyse web uygulamaları arasında klasörleri (her türden) paylaşmayı basitleştirmek için ne harika bir yol.

Bunu henüz TFS'de ifade etmeyi denemedim, bu yüzden eğer kimse bu konuda geri bildirimi varsa bize bildirin!


0

IIS, web.config dosyasının başka bir program tarafından değiştiğini düşünebileceği için bu çalışmaz. IIS muhtemelen bir System.Configuration.ConfigurationErrorsException istisnası atar. Sadece sitenin ana dizini değiştirmek için bir tür komut dosyası yazmanızı öneririm.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.