0

I have created a WEB APIusing MySQL database. The table includes the data about the meter's serial numbers it's signal strength values and the date time on which the signal strength has comes. For now i am successful in getting data by sending the meter's serial number.

Now I am also sending the date time parameter to it also. But it's not working for me. Below is what i have done.

public HttpResponseMessage GetByMsn(string msn, DateTime dt)
        {
            try
            {
                return Request.CreateResponse(HttpStatusCode.Found, medEntitites.tj_xhqd.Where(m=> m.msn == msn).Where(a=> a.date_time < dt ));
            }
            catch (Exception ex)
            {
                return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
            }
        }

The WebApiConfig file includes

config.Routes.MapHttpRoute(
       name: "GetByMsn",
       routeTemplate: "api/{controller}/{action}/{msn}/{dt}",
       defaults: null,
       constraints: new { msn = @"^[0-9]+$" , dt = @"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$" }
       );

After that I am passing the URL like http://localhost:14909/api/meters/GetByMsn/000029000033/2017-10-06T07:52:27

The error I am getting is A potentially dangerous Request.Path value was detected from the client (:).

For this I have also searched for the solutions but couldn't find out the correct one. Also I have replaced : in date time but still it's not working for me

Update 1

While passing only date2017-10-06 it works for me but when I append it with time it doesn't works

For a quick check I checked this question but still i am unable to solve the solution.

I must be missing something that I don't know

Any help would be highly appreciated.

Moeez
  • 494
  • 9
  • 55
  • 147

1 Answers1

0

After a lot of searching I finally found a solution.

I have changed the predefined disallowed/invalid characters in my Web.config. Under , added the following: <httpRuntime requestPathInvalidCharacters="&lt;,&gt;,%,&amp;,*,\,?" />. I've removed the : from the standard list of invalid characters.

For more information see this solution

Moeez
  • 494
  • 9
  • 55
  • 147