Я использую.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} независимо от того, есть ли в идентификаторе точка или нет.
Благодарю.