मुझे एक विरासत कोड समस्या मिली है जिसके लिए मुझे यादृच्छिक यूआरएल का समर्थन करने की आवश्यकता है जैसे कि वे होम पेज के लिए अनुरोध थे। उनमें से कुछ URL में ऐसे अक्षर हैं जो त्रुटि उत्पन्न करते हैं "संभावित संभावित Request.Path मान क्लाइंट (&) से पाया गया था" । साइट ASP.Net MVC 3 (C # में) के साथ लिखी गई है और IIS 7.5 पर चल रही है।
यहाँ एक उदाहरण URL है ...
http://mywebsite.com/Test123/This_&_That
यहां बताया गया है कि मेरे पास मेरा कैच-ऑल रूट सेटअप है (विशिष्ट पृष्ठों को पकड़ने के लिए मेरे पास अन्य मार्ग हैं) ...
routes.MapRoute(
"Default", // Route name
"{garb1}/{garb2}", // URL with parameters
new { controller = "Website", action = "Home", garb1 = UrlParameter.Optional, garb2 = UrlParameter.Optional } // Parameter defaults
);
मैंने अपनी web.config फ़ाइल में निम्न चीज़ें जोड़ी हैं ...
<configuration>
<system.web>
<pages validateRequest="false" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
<configuration>
मैंने भी ValidateInput विशेषता को उस एक्शन में जोड़ा है जो url को पकड़ना चाहिए ...
public class WebsiteController : Controller
{
[ValidateInput(false)]
public ActionResult Home()
{
return View();
}
}
लेकिन मुझे अभी भी त्रुटि मिल रही है। कोई विचार क्यों? क्या मैं कुछ भुल गया? अभी मैं अपने स्थानीय देव सर्वर पर चल रहा हूं (मैंने अभी तक उत्पादन में इन सुधारों की कोशिश नहीं की है)।