.NET 4.0下 當(dāng)ashx頁面報(bào)錯(cuò):檢測(cè)到有潛在危險(xiǎn)的 Request.Form 值

2012-12-11 12:46 原創(chuàng)

web開發(fā)中難免要多到ajax技術(shù). 
asp.net中我們處理ajax后臺(tái)頁面有人喜歡用aspx頁面,也有人喜歡用ashx頁面,相比后者處理速度更快. 
但是當(dāng)你的環(huán)境是 .NET 4.0,而 ajax 中提交的參數(shù)正好有特殊字符時(shí),比如 name= 
這時(shí)就會(huì)報(bào)錯(cuò):檢測(cè)到有潛在危險(xiǎn)的 Request.Form 值 
這時(shí)我們需要修改web.config文件,如下: 
httpRuntimerequestValidationMode="2.0" 
讓它的驗(yàn)證模式為.NET 2.0模式,這時(shí)ashx就不會(huì)報(bào)錯(cuò). 
因?yàn)?.0的驗(yàn)證在HTTP的BeginRequest前啟用,因此,請(qǐng)求的驗(yàn)證適用于所有ASP.NET資源,aspx頁面,ashx頁面,Web服務(wù)和一些HTTP處理程序等. 
當(dāng)然如果是在aspx頁面報(bào)這個(gè)錯(cuò)誤就是在頁頭加驗(yàn)證屬性,非常簡(jiǎn)單,google查詢一下即可. 
如果有人問 一些特殊字符在ajax怎么傳到后臺(tái)ashx頁面呢.比如 abc.aspx?name=as&cd這里的name值是as&cd 而不是as 這個(gè)問題可以查看我的另一篇博客 點(diǎn)擊這里查看


回應(yīng) 舉報(bào)
收藏

推薦閱讀

春天的花朵
春天的花朵