Com1, Com2, LPT1, CON, AUX gibi ifadeleri URL'de kullanma

alattin (17095) 9 yıl önce sordu

Asp.Net web uygulamalarında COM2, COM3, COM4, LPT1, LPT2, CON, AUX, PRN ve NUL gibi özel ifadeleri URL'de kullandığımda  aşağıdaki hatayı alıyorum

Server Error in '/' Application.

Runtime Error

Description: An exception occurred while processing your request. Additionally, another exception occurred while executing the custom error page for the first exception. The request has been terminated. 

Asp.Net web uygulamalarında COM2, COM3, COM4, LPT1, LPT2, CON, AUX, PRN, ve NUL  ifadelerin URL'de kullanılması neden sorun çıkartıyor?

Toplam 1 cevap


alattin (17095) 9 yıl önce cevapladı

COM2, COM3, COM4, LPT1, LPT2, CON, AUX, PRN ve NUL gibi ifadeler, Windows işletim sistemi için özel anlam ifade eder.

COM1, COM2 gibi ifadeler seri portları, LPT1, LPT2 gibi ifadeler de paralel port'u temsil eder.

Bu ifadeler sistem tarafından rezerve edilmiştir ve URL içinde kullanılmasına, dosya adı olarak kullanılmasına izin verilmez.

Asp.Net 4 kullanıyorsanız bu ifadelerin kullanımına web.config üzerinden izin verebilirsiniz. Web.config'e ekleyeceğiniz <httpRuntime relaxedUrlToFileSystemMapping="true"/> ifadesi bu özel ifadelerin kullanılabilmesini sağlayacaktır.

<configuration>
  <system.web>
    <httpRuntime relaxedUrlToFileSystemMapping="true"/>

    <!-- ... diğer ayarlar  ... -->
  </system.web>
</configuration>

Özellikle etiketleme sistemi kullanan sitelerde bu teknik ifadeler kullanıldığında sistem hataya düşecektir. web.config üzerinde yapılan bu kısa ayarlamadan sonra sorun ortadan kalkacaktır.