0

Can anyone please tell me issue with my URL:- http://www.advantarealty.net/Search//Condo,Single-Family-Home,Townhome_PropertyType/True_ForMap/8_Zoom/-81.3043212890625T29.099376992628493,-80.88134765625T28.9120147012556,-80.826416015625T28.41555985166584,-81.1669921875T28.033197847676377,-81.6888427734375T28.033197847676377,-82.1392822265625T28.222130007158537,-82.2601318359375T28.584521719370418,-82.1612548828125T28.92163128242129,-81.9305419921875T29.257648503615542,-81.6339111328125T29.248063243796576,-81.6064453125T28.849485201023,-81.3043212890625T29.099376992628493_Polygon/

I'm getting below error always.

Bad Request - Invalid URL. HTTP Error 400. The request URL is invalid.

Everything after /Search/ is a query string which i have handled via routing.

 routes.MapRoute(
    "Search", // Route name
    "Search/{*q}", // URL with parameters
    new { controller = "Search", action = "Index", q = UrlParameter.Optional } // Parameter defaults
);

In above URL, I guess it's exceeding maximum query string parameter length so i tried increasing it like below.

<system.web>
    <!--<httpRuntime maxQueryStringLength="32768" maxUrlLength="65536"/>-->
    <httpRuntime targetFramework="4.5" maxUrlLength="2097151" relaxedUrlToFileSystemMapping="true" maxQueryStringLength="2097151" />
</system.web>
<system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxUrl="40960" maxQueryString="2097151" />
      </requestFiltering>
    </security>
  </system.webServer>

I have tried request exceeds the configured maxQueryStringLength when using [Authorize]

How to configure the web.config to allow requests of any length

Community
  • 1
  • 1
Jitendra Pancholi
  • 7,897
  • 12
  • 51
  • 84

1 Answers1

0

Check pattern of route. i think the '/' breaks the url and not matching with the defined routes.

Ketan Panchal
  • 230
  • 1
  • 2
  • 9
  • I have handled it using routing. let me add that one into the question itself. – Jitendra Pancholi Jul 25 '15 at 11:47
  • Than what others '/' are used for? i think you need to encode your querystring before sending to the method. As '/' is special character which breaks the url and route does not matched with the defined parameters. – Ketan Panchal Jul 25 '15 at 11:52
  • / is used to further break the query string for getting search criteria. It's working fine although – Jitendra Pancholi Jul 25 '15 at 11:53
  • you can see it working if i remove some data from url. http://www.advantarealty.net/Search//True_ForMap/8_Zoom/-81.529541015625%7C29.940655389125002,-80.595703125%7C29.204918463909035,-82.001953125%7C28.724313406473463,-81.8975830078125%7C29.587788659909958,-81.529541015625%7C29.940655389125002_Polygon/ – Jitendra Pancholi Jul 25 '15 at 11:56