asp.net mvc не получает запрос GET с точкой в ​​нем

Я использую.net4.5rc с MVC4.0rc

Приведенный ниже код взят из приложения MVC webapi, но такое же поведение наблюдается и для обычного asp.net mvc

. Мой код registerroutes выглядит так

 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapHttpRoute(
                name: "R1",
                routeTemplate: "product/{id}",
                defaults: new { 
                                controller="Product",
                                id = RouteParameter.Optional 

                              }
            );

Это хорошо работает с идентификаторами, в которых нет точки. Однако, когда я запрашиваю продукт с точкой в ​​нем, кажется, что вызов не доходит до ASP.NET

когда я использую параметр ниже, как это предлагается в аналогичных сообщениях, он работает, когда есть трейлинг / Но без него не работает

короче

http://mysite.com/product/AZ0     //works
http://mysite.com/product/AZ.0/   //work with relaxedUrlToFileSystemMapping
http://mysite.com/product/AZ.0    //does not work

Ответ 404, и я предполагаю, что IIS возвращает его без участия ASP.NET. Когда я запускаю routedebugger с URL-адресом, подобным последнему выше,Я даже не понимаю, что такое routedebugger

Как заставить IIS передавать управление ASP.NET при наличии URL-адреса с шаблоном :mysite.com/product/{id} независимо от того, есть ли в идентификаторе точка или нет.

Благодарю.

8
задан cellik 30 July 2012 в 11:16
поделиться