I have an ASP.Net MVC application with the standard routes defined. The app edits meta data for our database. The url scheme is:
http://localhost/tables/Ed
Yes, con is a reserved word and thus cannot be put in a MVC route. Here is a blog post describing a work-around:
http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx
And another post detailing the reasons behind the reserved words:
http://bitquabit.com/post/zombie-operating-systems-and-aspnet-mvc/
CON is a reserved word like COM1, COM2, COM3, COM4, LPT1, LPT2, AUX, PRN, NUL.
I also run into this problem while using ajax request. I solved by putting "-" char at the beginning of parameter, and then I replaced it in code-behind.
But it was a silly solution, you can solve this problem easily by simply adding
<system.web>
<httpRuntime relaxedUrlToFileSystemMapping="true"/>
......
</system.web>
to your Web.config file and you can safely use these words in urls.