Soru Visual Studio'da IIS sorunu nasıl çözülür?
Web servisimi görsel stüdyosunda çalıştırmayı denedim. Ben gibi bir sorunla karşılaştım:
Görev yöneticisini gördüm ve PID 4'ün Sistem tarafından kullanıldığını ve açıklaması olduğunu NT Kernel & System. Bu yüzden durmaya çalıştım. http service. Tüm bağımlılık hizmetleri durdu. Ancak, http hizmetini durdurma gibi bir sorunla karşılaşıyorum
Bu yüzden hizmeti el ile durdurmaya çalıştım. Ancak Son işlem devre dışı bırakıldı. Bu sorunla ilgili herhangi bir kişi yardımcı olabilirse yardımcı olacaktır
Hata kodu 0x80070020 anlamına geliyor ERROR_SHARING_VIOLATIONIIS Express (veya IIS) durumunda, dinlemeye çalıştığı bağlantı noktasının başka bir işlem tarafından kullanıldığı anlamına gelir.
Kullan netstat portu hangi uygulamanın kullandığını öğrenmek için komut.
a parametresi, tüm bağlantıları ve dinleme bağlantı noktalarını görüntülemek için netstat'a bildirir.
o parametresi, bağlantıyla ilişkili işlem kimliğini görüntülemek için netstat'a bildirir.
Yukarıdaki netstat komutunu çalıştırmak aşağıdaki gibi bir çıktı üretecektir:
Görüntülenen son numara (9544 burada) işlem kimliğidir.
Mükemmel cevap! Sadece çözümü tanımlamakla kalmıyor, aynı zamanda parametrelerin anlamını da dahil ediyorsunuz. Bütün cevapların böyle olmasını diliyorum! - Christian Payne
Bu bana yardımcı oldu ve rahatsız edici PID, Chrome.exe çıktı. Chrome'u yeniden başlattım ve sorun gitti. - astrosteve
Mükemmel cevap. Bunu kullanarak skype'ın hem port 80 hem de port 443'te dinlediğini fark ettim. Skype'ı öldürdüm ve normalde iisexpress'i piyasaya sürdüm, şimdi 80 ve 443 numaralı portlar için ekstra bağlantılarımı gösterdim. - Alastair
yükseltilmiş bir cmd pencerede koş TASKKILL /PID 2756 /F değiştirmek 2756 işlem kimliğinizle - stackoverfloweth
Bu ile daha hızlı yapılabilir -n Ayrıca geçiş - "sayısal" çıkışı kullanır, yani IP adreslerini ana bilgisayar adlarına çözümlemek için DNS sorgulama zamanını boşa harcamaz. - Tullo_x86
Bende aynı problem vardı. Sadece Visual Studio'yu yeniden başlattım ve işe yaradı.
Bilgisayarım güncellemelerden yeniden başlatıldı ve netstat bağlantı noktasını kullanarak hiçbir işlem göstermedi. Bu sadece işe yarayan bir çözümdü. Teşekkürler! - goodies4uall
benim de makinemi yeniden başlatmak zorunda kaldı - Mahmoud Hboubati
Şaşırtıcı bir şekilde yeniden başlatılan Visual Studio (2017) benim için de işe yaradı. Teşekkürler! - Thomas Gassmann
Aynı sorunu yaşadım. @Kautsky Lozano yukarıda belirtildiği gibi Başka bir uygulama bu bağlantı noktasını kullanıyor.
Yani [bir Windows işletim sistemi için] sadece:
Açık Kaynak Monitörü (Görev Yöneticisi -> Performans -> Açık Kaynak Monitörü)
Tıkla Ağ sekmesi.
Ve de TCP Bağlantıları IIS Express'in kullandığı ve kapattığı Yerel Bağlantı noktasını kullanan uygulamayı bulun. (davamda firefox oldu)
Güzel cevap, bana yardımcı oldu, teşekkürler. - Mahmoud
@ Απόπατος çok yardımsever. - WSk
benim için çözüm bu, teşekkürler - Eman
Visual Studio 2012'den 2015'e bir çözüm geliştirdikten sonra aynı soruna girdim. Buraya geldim ve koştum. netstat sadece başka bir uygulamanın aynı portu kullanmadığını bulmak için. Aynı siteler ile eşlenmiş aynı bağlantı noktaları vardı çıktı applicationhost.config en Users/<username>/Documents/IISExpress/config ve applicationhost.config içinde .vs çözümümün içindeki klasör. Sorunun, yükseltme işleminden sonra da başlamadığına dikkat etmeliyim. Sadece bir sabah sürekli olarak başarısız olmaya başlıyor. Bir çift yeniden başlatma sorunu da çözmedi.
Çakışan siteleri Belgelerim'de depolanmış olandan kaldırma ve Visual Studio'yu yeniden başlatma sorunu çözdü.
Bu bana yardımcı oldu: applicationhost.config içinde .vs\config Çözüm klasörünüzün altındaki klasörü. - Erik Oppedijk
Komut konsoluna girmeden en kolay ilk geçiş sadece tüm uygulamaları (VS dahil) kapatmak, ardından VS'yi tek başına başlatmak ve tekrar denemek olacaktır. Tarayıcınız çakışmaya neden olan başka bir uygulama olabilir. Benim durumumda Chrome neden oldu ve her şeyi kapatıp VS'yi yeniden başlatırken çözüldü. Chrome'u tekrar açtım ve her şey yolundaydı.
Yukarıdaki netstat şeyler yararlıdır, ama bana göre sadece önerdiğim şeyi yapamazsanız.
Başka bir uygulama bu bağlantı noktasını kullanıyor. Bu size yardımcı olabilir
Bu problemi yaşadım MVC projesini yükseltmek. Daha yeni MVC .csproj'u mevcut .csproj dosyanızın üzerine kopyaladım ve sonra tamamen çalışan bir projeye geri döndüm. Düşünemediğim şey eski .csproj'daki mevcut port numarasıdır. Yeni projede yeni bir liman numarası vardı, ancak Proje / Montaj Adı paylaşıldı. Bu, IIS Express'in zihnini kaybetmesini ve bu istisnayı atmasını sağlamak için yeterliydi.
Sadece eski bağlantı noktası numarasını gitmeden kazmak ve Proje Ayarları'na dahil etmek için IIS Express URL'sini değiştirmek bunu düzeltmek için yeterliydi.
Web Projesine Git Özellikler >> Web >> Proje Url >> Bağlantı noktası değiştir yani: http: // localhost: 22345 / => http: // localhost: 22346 / Umarım bu yardım!
Ekran çekimi: i.stack.imgur.com/YyMzW.png - binhtruong.it
Şimdiden aşağıdakileri denedim:
Yeniden başlatılan Visual Studio
Belirli numaramı dinleyen tüm bağlantı noktalarını kontrol et, ancak her zaman sıfır sonucu döndür. Limanda bir süreç dinlemiyor.
Bunu da kullanıyorum ama sıfır sonuçları.
netstat -aon | bul: "80"
Ben de kullanmayı denedim ama aynı zamanda sıfır sonuçlara geri döndüm.
Yani yaptığım şey bu "silmek"Microsoft.VsHub.Server.HttpHostx64.exe"Sonra projem başarıyla başlatıldı ve tarayıcıda başlatıldı. Hata giderildi. Neden emin değilim ama işe yarıyor.
İşte ekran görüntüsü:
Bütün cevapları özetlemek. 2 tane çözüm var. İkisi de benim için çalıştı. - 1. Çözüm Aynı bağlantı noktasını kullanan uygulamayı öldür. - 2. çözüm Projeniz için farklı bir bağlantı noktası kullanmak için IIS Express'i yapılandırın.
1. Çözüm (hata iletisinde bağlantı noktasını varsayan 443 idi) Komut satırında çalış:
döndürür: TCP 0.0.0.0:443 pe01:0 LISTENING 2904 Son numara (@ chris-schiffhauer sayesinde) öldürmek için PID'dir. Görev Yöneticisi -> İşlemler -> [Tüm Kullanıcılardan İşlemleri Göster] bölümüne gidin, PID = 2904 ile bir işlemi öldürün. Benim durumumda, VmWare ev sahibi oldu.
2. çözüm (Varsayalım mesajı: URL kaydedilemedi "http: // localhost: 433 /"site için" MyProject.Website0 "...). Folloing dosyasını notespad'de açın ++: C:\Users\MY_USER_NAME\Documents\IISExpress\config\applicationhost.config İçinde aşağıdakileri içeren bir satır bulun:
Ya değiştirmek 433 başka bir şeye 4330 veya çakışmayı sil <binding.../> etiket.
Son 30 günden veri almak için SQL Query? Yapılandırma verilerini yönetmenin en iyi yolu nedir? json_encode () non utf-8 dizeleri? Android anahtar deposu dosyası nedir ve ne için kullanılır? Çerçeve, iOS'ta GoogleMaps SDK bulunamadı Bir kopya referansı yerine bir nesneye geri dönme Eğer x listesindeyse, x + = “ha” çalışması neden x = x + “ha” bir istisna atar?