2011-06-17 23 views
14

Birden çok web sitesiyle ilgili bir çözümüm var ve geliştirme için Cassini'yi kullanıyordum. IIS Express çıktığında, web sitelerinin birini kullanmak için geçiş yaptım ve her şey iyi çalışıyor. IIS Express'i kullanmak için başka bir web sitesini daha yeni taşıdım ve hemen hata ayıklama ile ilgili bir soruna rastladım: IIS Express işlemlerini etiketlemiyor, bu yüzden artık iki tanesini çalıştırıyorum, "İşlemi gerçekleştir" bölümünde bunları ayrı ayrı söyleyemiyorum. iletişim.IIS Express işlemi için nasıl etiketlenir (Başlık)?

IIS Express'in işlem başlığını ayarlamasının bir yolu var mı? Hata ayıklayıcıyı eklemek amacıyla birden fazla IIS Express örneğini anlatmak için herhangi bir ipucu var mı?

Güncelleme Bunu yapmanın bir yuvarlak yaklaşık yolu IIS Express tepsi simgesinin "Tüm uygulamalar" bağlam menüsünü yürütmek ve ayıklayıcısını eklerken listeden PID referans etmektir. Hiçbir şeyden daha iyi, ama daha iyi bir yolu olsaydı iyi olurdu. https://connect.microsoft.com/VisualStudio/feedback/details/729475/impossible-to-differentiate-iis-express-instances-when-attaching-debugger

+0

Sho w tüm uygulamalar benim için yeterince iyi - Teşekkürler – Jerph

+1

için bağlantı sadece "tasarım tarafından" olarak kapanacak. –

cevap

4

Alternatif sayfanızda içinden ayıklayıcısını başlatmak için bu kodu ekleyebilirsiniz: 2

Güncelleme Ben bağlantı sorunu eklendi. Onun fantastik ve kolay, ve sadece aramak ve hata ayıklayıcısını başlatmak için gizli bir yerel sayfa kullanabilirsiniz.

System.Diagnostics.Debugger.Launch(); 
2

IISExpress örneklerini bir toplu iş dosyasından çalıştırıyorum. Cmd dosyasının adı daha sonra İşleme Eklemede işlem adı olarak görünür.

örn:

MySite

+0

Site kimliğini almanın kolay bir yolu var mı? –

+0

Sadece bilmek ve applicationhost.config dosyasında kontrol ederek bildiğim kadarıyla. % Olarak bulabilirsiniz% Kullanıcı klasörünüz% \ Documents \ IISExpress \ config Ayrıca iisexpress.exe'yi site kimliğini kullanmak yerine bir site/site: [site-name] argümanı ile çalıştırabilirsiniz – Boycs

0

bir başvuru unutmayın olarak işleme Ekle içinde

"C:\Program Files (x86)\IIS Express\iisexpress.exe" /siteid:1

Başlık colum gösterilmesini misiniz MySite.cmd dosyasında bu var System.Management ...

public static Regex siteNamePattern = new Regex("/site:\"(?<sitename>[^\"]+)\"", RegexOptions.Compiled); 

... 

var iisExpressSiteNames = new ManagementObjectSearcher(
    "select CommandLine, ProcessId from Win32_Process where Name='iisexpress.exe'") 
    .Get().Cast<ManagementBaseObject>().ToDictionary(
    o => int.Parse(o["ProcessId"].ToString()), 
    o => siteNamePattern.Match(o["CommandLine"].ToString()).Groups["sitename"].Value 
); 
+0

Bu elbette hazır değil sorunuza uygun cevap, ama böyle bir cevap yapmak için kullanılabilir. –

İlgili konular