In ASP.NET Web Api, route parameters that contain periods are not matched.
Steps to reproduce:
In the default web api template update the Get (by id) method as below:
public string Get(string id)
{
return id;
}
A request to /api/values/foo returns "foo".
A request to /api/values/foo.bar returns a 404.