ASP.NET sorun giderme

Makale çevirileri Makale çevirileri
Makale numarası: 891032 - Bu makalenin geçerli olduğu ürünleri görün.
ASP .NET Destek Sesi sütunu: ASP.NET sorun giderme
Bu sütun için kendi gereksinimlerinize göre özelleştirmenin sizi ilgilendiren konular hakkındaki fikirlerinizi göndermeye davet etmek isteriz ve gelecekte Knowledge Base makaleleri ve Destek Sesi sütunu görmek istediğiniz sorunlar giderilmiştir. Kendi fikirleri ve Ask For It formunu kullanarak geri besleme gönderebilirsiniz. Formun alt kısmındaki bu sütunun. bağlantı da orada
Hepsini aç | Hepsini kapa

Bu Sayfada

Giriş

Yeniden Merhaba ve Destek Sesi sütunu Kasım ' 04 sürümü için Hoş Geldiniz. Jim Cheshire, ASP. NET'in için kendi katkıyı destekleyen Microsoft burada destek mühendisine teşekkür etmek istiyorum. Jim Destek Sesi sütunu için mükemmel fikir vardır ve bunları paylaşmak istedi. Jim'ın katkıyı için sonraki birkaç ay içinde aramak ve her zaman olarak bize gelecekteki sütunları ilgili önerilerinizi gönderin. Teşekkür Jim!

Jim konusunda Microsoft ile altı yılı için FrontPage, VB ve ASP .NET takımları. Bu sırada, Office Developer Center için MSDN'de Marc yazmıştır ve kendisine bir kayıt defterinin, FrontPage, özel Edition Using Microsoft Office FrontPage 2003 yazar olur. Jim Marc ücretsiz eklentileri Web geliştiricilerin Microsoft ürünleri en iyi hale getirmek FrontPage'in sağlar; burada, bir Web sitesi de vardır. Işte, bu Web sitesi adresi:
http://www.jimcosoftware.com
Bu nedenle, çekmeli Lütfen oluşturan bir sandalye, kapalı, ayakkabısı kick tüm ASP.NET sorun giderme hakkında bizim sütun aracılığıyla okuma ve unutmayın, biz yayımlamak fikirlerinizi bize her bir sütunda bulunan "BT IÇIN ASK" bağlantısını kullanarak gönderebilirsiniz.

Jeremy

ASP.NET sorun giderme

Film Shrek gördünüz? Yıldız film, Shrek awful hygiene alışkanlıklarınızı ile bir ugly yeşil verin ogre ' dir. Film erken Shrek ogres karmaşıklığını “ ogres onions gibi olduğundan emin. diyerek proclaims Katmanlar sahip oldukları. ”

Çok ASP.NET gibi bir ogre ' dir. Birçok katmanları--Web istemcisini, Web proxy sunucuları gibi herhangi bir ara aygıt varsa sunucu ve ağ ’s ve diğer kaynakları, uygulamanın dokunduğundan. Tüm katmanları ASP.NET düzgün bu aracının nasıl kullanılacağı ve kullanma için hangi araç bilmiyorsanız giderilir güçleşebilir.

Kendim geçersiz, bu seriler, nasıl öğretin araçlardan bazıları kullanılacak yapma sırasında riskini nin PSS sorunları gidermek için kullanıyoruz. Bazı gerçekten harika araçlar gibi nasıl ele gidin MIYIM:
  • Ağ izleyicisi
  • Fiddler
  • FileMon / Regmon
  • <a1>Windows</a1> (WinDbg) için hata ayıklama araçları
  • SOS (yönetilen kod hata ayıklama için bir WinDbg uzantılı)
  • DBGClr
Bu araçları kullanarak intimate ayrıntılarını gidin won’t, ancak SORUNUM size, karşılaşabileceğiniz birçok sorunu kök nedenini detaya böylece, bu araçları kullanarak sağlam bir temel sağlar.

Algılayıcılar

Bu ilk kısmı ile ağ algılayıcılar ilgilenme. Sağa Let’s atmadan.

Örnek sorunu:

, Tümleşik kimlik doğrulaması kullanır ve kapalı “ anonim ” bir ASP.NET uygulaması gerekir. Kullanıcıların bir siteye erişebilir olmadıklarını bildiriyor. Bunun yerine, sürekli bir kullanıcı adı ve parolası istenir. Izinleri bu. için doğru olduğunu düşündüğünüz

Bir ağ algılayıcısı'nı kullanarak sorun giderme için ideal bir aday bu tür bir sorun var. Algılayıcı, istemci kimlik doğrulama bilgilerini sunucuya gönderdiği olup olmadığını belirlemenize olanak verir. Microsoft'ta kullanıyoruz ağ algılayıcısı, ağ izleyicisi ' dir.

Ağ izleyicisi

Ağ izleyicisi'nin zaman s?ras?nda bir sürümü, aşağıdaki Microsoft FTP sitesinden yükleyebilirsiniz:
ftp://ftp.microsoft.com/PSS/Tools/Netmon/Netmon2.zip
Bu ZIP dosyasını paroladır izleme. Ağ izleyicisi'ni yükledikten sonra Yönetimsel Araçlar ' ı tıklatarak ve sonra da Ağ çözümlemesi Araçlar ' ı tıklatarak bulabilirsiniz.
Yakalamak için ağ arabirimini seçme
Ağ izleyicisi'ı ilk kez başlattığınızda, yapmanız gereken ilk şey, Şekil 1'de gösterilen iletişim kutusunda, kullanmak istediğiniz ağ kartını seçin olur.
Bu resmi kapatBu resmi aç
Figure 1: Choosing a network in Network
		  Monitor

Şekil 1: bir ağ, ağ izleyicisi'nde seçme

Şekil 1'de, çevirmeli bağlantı veya VPN bağdaştırıcı arabiriminin özelliklerinde belirtildiği gibi seçilen arabirimle olduğunu unutmayın. Çoğu durumda, çevirmeli veya VPN bağlantısı dışındaki arabirimlerden birine seçmek istersiniz. VPN, bir ekran görüntüsü için kullanmak üzere seçtiğim, nasıl yeniden tanımlanması olmadığını açıkça görmek istediğim çünkü seçmek için istediğiniz don’t bağdaştırıcısını. Yine, hemen hemen her durumda, seçmek istediğiniz bağdaştırıcıyı bir resimdeki, Şekil 1 gibi görünen doesn’t kullanılır.

Yakalama Ağ Kartı'nı değiştirmeniz gerekirse, Yakalama menüsünde <a2>ağlar</a2> seçeneğini tıklatarak bunun için iletişim kutusunu erişebilirsiniz.
Arabellek boyutu ayarı
Ağ izleyicisi'nin varsayılan yakalama arabelleği 1 MB var. Bu, 1 MB ağ veri topladığı sonra izleme üzerine başladığını gösterir. Çoğu durumda, bu arabellek artırmak isteyebilirsiniz. Bunu yapmak için <a0></a0>, Yakalama ' yı tıklatın ve sonra da Arabellek ayarları</a1>'ı tıklatın. Bu arabelleğin boyutunu artırmanız Yakalama arabelleği ayarları iletişim kutusunu görüntüler. Belirtmek istediğiniz boyutu değişir ne kadar ağ trafiğini ağınızdaki görme. Çerçeveleri yakalama başlatılıyor hemen sonra ilgilendiğiniz oluşturmak istediğiniz bir sorun, 2 veya 3 MB arabellek birden fazla yeterli olmalıdır.

Yakalama arabelleği ayarları fark iletişim kutusu, Çerçeve boyutunu da değiştirebilirsiniz. Bu, yalnızca gönderilen üstbilgileri yakalamak istediğiniz durumlarda yararlıdır. Çerçeve boyutunu azaltarak, bazı arabellekte kazanmak ve hala gereksinim duyduğunuz başlıkları yakalayın. Bu makalede, kullanarak ı ayrıntı gidin won’t.
Yakalama başlatılıyor
Arabellek kümenize aldım artık, veri yakalama işlemini başlatmaya hazır. Birkaç farklı yolla yakalama başlatabilirsiniz:
  • F10 klavyede tuş bileşimine basın.
  • Yakalama ' yı tıklatın ve menüden Başlat ' ı tıklatın.
  • (Bu düğme, yürütme düğme görünür) araç çubuğundaki <a2>Yakalamayı Başlat</a2> düğmesini tıklatın.
Paketler ağ izleyicisi yakalama gibi taşıma metre ve istatistikleri değiştirme, Şekil 2'de gösterildiği gibi gördüğünüz. Herhangi bir şey yakalarken olmuyor don’t görürseniz, olasılıkla yakalama ağ kartı değiştirmeniz gerekir.
Bu resmi kapatBu resmi aç
Figure 2: Network Monitor while capturing
		  packets

Şekil 2: paketler yakalama sırasında ağ izleyicisi

Ağ izleyicisi'nde yakalama başlatıldı sonra yakalamak için gereken sorunu yeniden ve sonra Ağ izleyicisi Yakalama ' yı tıklatarak ve sonra Durdur ' i tıklatarak, <a2>Durdur</a2> düğmesini tıklatarak veya klavyenizde F11 tuşlarına basarak yakalamayı durdur. Artık yakalandığı verileri incelemek hazırsınız.

Not Ağ izleyicisi, ağ gider veri yakalar. Bu nedenle, genellikle bir isteği Web uygulamanızın konsolunda göz atarak yakalama edemiyor. Bazı durumlarda, IP adresi ya da tam nitelikli etki alanı adı'nı kullanarak gezinme yerel bilgisayarda yakalamanıza olanak sağlar.
Yakalanan verileri inceleniyor
Yakalama durdu sonra yakalanan veriler Yakalama ' yı tıklatarak ve sonra Yakalanan Verileri Görüntüle'ı tıklatarak veya klavyenizde F12 tuşuna görüntüleyebilirsiniz. Varsayılan olarak Şekil 3'te gösterildiği gibi yakalama sırada ağ üzerinden gittiğini tüm verileri bakın.
Bu resmi kapatBu resmi aç
Figure 3: Captured data in Network
		  Monitor

Şekil 3: verileri ağ izleyicisi yakalanan

Bu durumda, yalnızca HTTP paketleri görüntüleyebilecek yararlı olacaktır. Kolayca yalnızca HTTP iletişim kuralı'nı görüntülemek için yakalanmış verileri süzme yoluyla gerçekle?tirilir. Yakalanan Verileri süzmek için <a0></a0>, Yakalama ' yı tıklatın ve sonra süzme ' yi tıklatın veya klavyenizde F8 tuşuna veya bir huni gibi görünen bir araç çubuğu düğmesini tıklatın.

Görüntüleme süzgeci iletişim kutusunda çift Protokolü herhangi == süzgeç ifadesi</a1> iletişim kutusunu, Şekil 4'te gösterildiği gibi görüntülemek için.
Bu resmi kapatBu resmi aç
Figure 4: The Expression dialog box
		  provides powerful filtering capabilities

Şekil 4: ifade kutusunu, güçlü bir süzme yetenekleri sağlar

Varsayılan olarak, ağ izleyicisi, tüm iletişim kurallarını gösterir. Yalnızca göstermek için HTTP iletişim kuralı Tümünü devre dışı bırak'ı tıklatın, seçmek için HTTP iletişim kuralı'nı çift tıklatın ve sonra Tamam ' ı tıklatın. Ağ izleyicisi görüntüler yalnızca HTTP iletişim kuralı.

Not Böylece, yalnızca belirlediğiniz süzgeçle eşleşen çerçeveleri yakalar yakalama önce ağ izleyicisi süzebilirsiniz. Çoğu durumda, yakalama sonra süzmek tercih EDERIM.

Ağ izleyicisi yakalanan paketleri yalnızca HTTP iletişim kuralı görüntülenmesi için süzme sonra her çerçevenin HTTP yakalanan verileri görüntülenir. Çerçeve Ek Yardım düğmesini tıklatarak, bu paket hakkında ayrıntılı bilgi gözden geçirebilirsiniz. Biz ile ilgili senaryosunda, istemci, kimlik doğrulama bilgileri Web sunucusuna, gönderdiği belirlemek biz çalışıyorsunuz. Şekil 5'te gösterilen yakalama ASP.NET sayfası için GET isteğine yanıtı gösterir. Web sayfasına erişim engellendi gösteren geri 401 durum koduna sahip Web sunucusu yanıt dikkat edin.
Bu resmi kapatBu resmi aç
Figure 5: Network Monitor showing an
		  “Access Denied” response when authentication is required

Şekil 5: Ağ izleyicisi, kimlik doğrulama gerekli olduğunda “ erişim engellendi ” yanıtının gösteren

WWW-Authenticate üstbilgisi ' bakarak, Şekil 5'te Web sunucusunu <a1>Kerberos</a1> (anlaşma) hem de NTLM kabul ettiğini görebilirsiniz kimlik doğrulaması. Bu nedenle, istemci kimlik doğrulama bilgilerini otomatik olarak “ erişim engellendi ” iletinin sonra başlıklarında burada göndereceğiniz bekler.
Sıra numaraları
Şekil 5'te gösterilen paket istemci çubuğundaki yanıt bulmak için <a0></a0>, size bu yanıtı numaralarında bakmak gerekir. Ağ izleyicisi'nin incelemede numaralarını sık olarak misunderstood sırası kavramını izler. Anahtar şeyler oluştuğu sırada anlamak için kullanılırlar.

Şekil 5 Orta bölmede HTTP iletişim kuralı tüm HTTP üstbilgileri göstermek üzere genişletilmiştir fark. Yalnızca HTTP üzerinde TCP protokoldür ve TCP kesimi bir parçası olarak seri numaraları ve bildirim numarasını görebilirsiniz. (TCP paketi içindeki seq tarafından gösterilen) seri numaraları, belirli TCP kesimi tanıtmak için bir yol sağlar. Her TCP sıra bir alındı bildirimi veya bildirim, bu sıranın eşlik.

Buraya bir HTTP GET isteği izleme'den parçacık ’s:
11 4294967263.4294633595 LOCAL 00045A420DBC HTTP GET Request 
(from client using port 3134) DADATOP 192.168.0.4 IP 
TCP: .AP..., len: 402, seq:3410290480-3410290882, ack:1947093623, win:17520, src: 3134 dst:  80 
son sıra numarası 3410290882 olduğunu unutmayın. Bu nedenle, sunucu çubuğundaki yanıt bulmak için <a0></a0>, bu sıra bildirdikten çerçeveyi bulmak gerekir. Diğer bir deyişle, bir bildirim 3410290882, yanıtta aradığınız. Çerçeveyi aşağıdadır:
12 4294967263.4294636605 00045A420DBC LOCAL HTTP Response (to client using port 3134) 192.168.0.4 DADATOP IP 
TCP: .A...., len: 1460, seq:1947093623-1947095083, ack:3410290882, win:65133, src:  80 dst: 3134
zamanları zaman önce bir ağ izleyicisi izlemesi isteğine yanıt görünür olduğundan bu önemli sayılardır. Paketleri, sırasına emin olmanız için tek yol, bu numaraları kullanmanın kesimleri denetlemektir.

Biz bu izleme istemci kimlik doğrulama bilgilerini gönderen olmadığını aradığınız bu yana size TCP kesimleri HTTP GET istekleri ve sunucu yanıtlarını izlemek için kullanabilirsiniz. Kimlik doğrulama bilgilerini istemciden gönderen çerçeveden parçacık aşağıdadır:
23 4294967263.4294641621 LOCAL 00045A420DBC HTTP GET Request (from client using port 3135) 192.168.0.2 192.168.0.4 IP 
HTTP: GET Request (from client using port 3135)
  HTTP: Request Method = GET
  HTTP: Uniform Resource Identifier = /webapplication1/webform1.aspx
  HTTP: Protocol Version = HTTP/1.1
  HTTP: Accept = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.
  HTTP: Accept-Language = en-us
  HTTP: Accept-Encoding = gzip, deflate
  HTTP: User-Agent = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 
  HTTP: Host = alien
  HTTP: Connection = Keep-Alive
  HTTP: Authorization = Negotiate TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAA
44 77 3D 3D 0D 0A 0D 0A         AAADw==....   
Ne bu bize? Yetkilendirme üstbilgisi "Negotiate için" olarak ayarlanır ve bu üstbilgisinde gönderilen karakter uzun bir dizeyi görebiliriz görebiliriz. Bu yanıt, bize istemci ve sunucu bir NTLM bağlantı anlaşmalarını bildirir. Ilk karakter olduğu için NTLM kimlik doğrulamasını buraya kullanılmakta olduğunu bildiğiniz bir ' "T" Bu, "E" ise, Kerberos olacaktır. Başlık, "NTLM" yerine "Negotiate" olarak ayarlayın Bu "yetkilendirme yöntemi Negotiate" ve mümkün olduğunda, Kerberos ilk deneyin, ancak Kerberos veya NTLM kullanacağı anlamına gelmez. Kerberos kullanamıyorsanız, NTLM kullanır.

Şekil 6, kimlik doğrulama bilgilerinin gönderileceği görebilmek, yukarıda gösterilen çerçevesinin bir ekran görüntüsü olur. Böylece, her üstbilgi ayrıntılarını görebiliriz Orta çerçeveyi HTTP üstbilgileri genişletilmiş olduğunu unutmayın.
Bu resmi kapatBu resmi aç
Figure 6: The
		  frame containing authentication information

Şekil 6: kimlik doğrulama bilgilerini içeren çerçeve

Bu çerçeve, bize istemci çoğu kesinlikle gönderen kimlik doğrulama bilgilerini olduğunu bildirir. Kullanıcı erişim bu noktada engellendi, kullanıcı yoktur çünkü ya da kaynak izni veya kimlik doğrulama bilgilerini ağ üzerinden belirli bir noktada değiştiriliyor için değildir.
Başka bir şekilde süzmek için
Çoğu durumda, çok miktarda bir trafik olan bir sunucuya giderme. Bu durumda, çok sayıda HTTP çerçeve görebilirsiniz ve sağ olanları bulmak zor olabilir. Daha fazla süzgeç ifadeleri kullanarak, kolayca doğru karelere sağ alabilirsiniz.

Süz düğmesini tıklatın veya klavyenizde Görüntüleme süzgeci iletişim kutusunu ayarlayıp getirmek için F8 tuşuna basın. Sağ tarafta, deyim yeni bir ifade eklemek için tıklatın. Bu senaryoda kullanmak istediğiniz iki farklı süzgeç vardır: Süzgeç IP adresi ve süzgeci tarafından HTTP durum kodu.

IP adresine göre süzmek için <a0></a0>, özellik sekmesini tıklatın ve sol bölmede aşağı IP görünceye kadar kaydırın. IP genişletin ve Kaynak adresi görünceye kadar aşağı kaydırma yapın. Seçin == ilişkisinin, IP girin Şekil 7'de gösterildiği gibi istemci bilgisayarın adresi. Sonra bunu, yalnızca girdiğiniz IP adresinden gelen çerçeve görürsünüz.
Bu resmi kapatBu resmi aç
Figure 7: Filtering by IP
		  Address

Şekil 7: IP adresi tarafından filtre

IP adresi birden çok kez izleme süzmek en iyi özelliği olması unutmayın bir ’s. Oftentimes kullanıcıların bir yönlendirici veya güvenlik duvarı aracılığıyla bir Web sunucusuna vurarak. Bu gibi durumlarda, IP adresi olacak genellikle yönlendirici veya güvenlik duvarı ve değil istemci IP adresi olmalıdır.

HTTP durum koduna göre de süzebilirsiniz. Hızla bir 401 istemcinin gönderileceği çerçeveyi bulmak istediğiniz, 401 HTTP durum kodu üzerinde filtre uygulayabilirsiniz. Bunu yapmak için <a0></a0>, HTTP İletişim kuralı: özellik listesinde seçin ve genişletin. Aşağı kaydırma yapın ve Durum kodu</a1>'ı tıklatın. Seçin ==, ilişki (Önemli) ondalık radyo düğmesini tıklatın, Şekil 8'de gösterildiği gibi 401değeri alanına girin ve Tamam ' ı tıklatın. Ağ izleyicisi yalnızca bir 401 durum kodu gönderildiği çerçeveleri Şekil 8'de gösterildiği gibi görüntüler.
Bu resmi kapatBu resmi aç
Figure 8: Filtering by HTTP status
		  code

Şekil 8: tarafından HTTP durum kodu filtresi
The 401 gönderilmiş olan çerçeve bulunan sonra Süzgeci kapatmak için klavyenizdeki sonra F7 tuşuna basabilirsiniz. The 401 gönderilmiş olan çerçeve yine de vurgulanır ve sonra istemci çubuğundaki yanıt için 401 çevreleyen çerçeveleri inceleyin.

Fiddler – HTTP proxy hata ayıklama

ınternet Explorer'dan gidermekte olduğunuz istemci bilgisayarda tarama, istemciden gönderilen HTTP bilgileri yakalamak için Ağ izleyicisi'ni yerine Fiddler (Şekil 9'da gösterilen) kullanabilirsiniz. Fiddler yalnızca HTTP paketlerini yakalar ve ınternet Explorer'a doğrudan tümleştirir.
Bu resmi kapatBu resmi aç
Figure 9: Fiddler

Şekil 9: Fiddler

Şekil 9, sunucudan 401 yanıt görebilirsiniz ve daha sonra istemci (vurgulanmış) anlaşma üstbilgisiyle yanıt görebilirsiniz. Bu durumda, çalışma zamanı hatası (Bu bu konuyla ilişkili olmayan) kimlik doğrulaması istemci gönderir, ancak açıkça istemci Kerberos bileti göndererek, parçası olduğu görebiliriz sonra oluşur.

Fiddler, aşağıdaki Web sitesinden yükleyebilirsiniz:
http://www.fiddlertool.com.

Sonraki nedir?

Ağ izleyicisi'ni veya Fiddler kullanarak, genellikle istemci kimlik doğrulama hataları bir sorun olarak dışarı kural. Sonraki aya, biz FileMon ve Regmon SysInternals'ndan nasıl üzerinden gider. Bu araçlar, özellikle dosya sisteminde, izin sorunlarını gidermek ve kayıt defterindeki yardımcı olur.
Her zaman olarak, gelecekteki bir sütun ya da Ask For It formunu kullanarak Bilgi Bankası'ndaki belirtilen istediğiniz fikirleri konularda gönderme bildirmekten çekinmeyin.

Özellikler

Makale numarası: 891032 - Last Review: 24 Ocak 2008 Perşembe - Gözden geçirme: 3.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Anahtar Kelimeler: 
kbmt kbhowto kbasp KB891032 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:891032

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com