Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 20667|Yanıt: 0

[ASP.NET] GET isteği "HTTP Error 400. İstek URL'si geçersizdir"

[Bağlantıyı kopyala]
Yayınlandı 4.07.2018 09:53:58 | | | |


Bu yanlış bilgiyi gören ortalama bir geliştirici iki sebep tahmin edebilir

1. Bağlantıda özel karakterler var

2. Bağlantı uzunluğu çok uzun(Görünüşe göre suç uzunluk değil, belirsiz, unuttum)

Hata görselinin adresi şöyledir: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99

Sonrasında karşılaşabileceğimiz hataların nedenlerini araştırmaya başladık

1. URL'yi kontrol edin, özel karakter yok (bu sebep hariç tutulur)

2. URL ilk bakışta çok uzun görünüyor, bu yüzden parametrenin yarısını silip sonra talep edelim. Sonuç olarak, bu başarılı olabiliyor ve sürekli karakter ekleyerek uzunluğun 339'u aştığı ve bu hatayı bildirdiği görülüyor, ayrıca 339'dan sonra özel karakter yok, yaniTemelde hata sebebinin URL'nin çok uzun olması olduğunu belirledik

Sonraki adım ilgili sorunları çözmektir

Sonra çeşitli Baidu var, sorgu dizisinin uzunluk sınırını değiştirmekle ilgili yapılandırmayı kontrol edin

Sonra web.config'i değiştirin

1. httpRuntime düğümü altında maxQueryStringLength ve maxRequestLength yapılandırmalarını değiştirin

2. system.webServer düğümünü aşağıdaki şekilde değiştirin

Kaydedip beklentiyle çalıştırıyorum, hatalar hâlâ aynı ve görünüşe göre hiçbir işe yaramıyor

O sırada, neden etki göstermeyeceğini merak etmeye başladım, benim gibi birçok insan olabilir, IIS'nin küresel ayarını düşünürken, bu ayar geçersiz kalmaz mı, hala tüm belirlenmiş değerleri kullanıyoruz

Tahmin etme, sadece bir göz atma (checkFiltering system.webServer altında olduğunu unutmayın, yanlış düğüme bakmayın)

Eğer kapalıysa, overrideModeDefault değeri Redd'tir, yani yapılandırmamız sitemizin özel yapılandırmasına göre değişecektir.

Yani her şey normal, neden bir hata?!

Son olarak, stackoverflow'da benimsenmeyen bir geri dönüş dikkatimi çekti

bağlantıhttps://stackoverflow.com/questi ... is-invalid-in-iis-7



Kabaca olarak, talep henüz IIS'ye ulaşmadı ve işletim sistemi tarafından öldürüldü.

Bu sırada, Microsoft'un optik radyo teknik desteğine bağlı başka bir Google makalesi aradım

Adres şöyledirhttps://support.microsoft.com/zh ... ettings-for-windows

İki makalenin özü, kayıt defterini değiştirmemiz gerektiği ve muhtemelen kayıt defterinin aşağıdaki iki değeriyle değiştiriliyor



Sonra deneyin ve kayıt defteri CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters sayfasına gidin

Boş alana sağ tıklayın ve resimde gösterildiği gibi Dword değerini seçin



UrlSegmentMaxLength adında yeni bir isim oluşturun, değeri 2048'e ayarlayın ve Tamam'a tıklayın



UrlSegmentMaxCount ayarı yukarıdakiyle aynı, değeri de Dword 2048, OK tuşuna tıklayın.

Değişiklik ancak HTTP servisi yeniden başlatıldığında geçerli olabilir

  • Başlat'a tıklayın, Cmd yazın ve sonra OK'ye tıklayın.
  • Komut satırında net stop http yazın ve Enter tuşuna basın.
  • Komut isabetinde net start http yazın ve Enter tuşuna basın.


Sonra IIS'i yeniden başlatın. Tekrar dene, tamam, hata yok, mükemmel çözüm





Önceki:"Object" türü, referanssız bir montajda tanımlanır. Programa bir yanıt eklemek zorunda...
Önümüzdeki:Ionic Development Android App Practice (4): Baidu Map API Positioning
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com