ASP.NET MVC应用程序需要显示此URL http://host.com/IPAddress/10.10.10.77/28
;但是句点.
和正斜杠/
与ASP.NET MVC冲突。
我该如何处理这个请求?我想到的一些方法包括:
用“魔术”字符串替换问题字符串,例如10-10-10--28,然后将其转换回逻辑值
使用Key在值前面加上值,因此值只是一个slug:
http://host.com/IPAddress/27/10-10-10--28
查看上面的条目,我无法直接关闭IP地址,但仍然看起来不正确
将ASP.NET配置为忽略句点(以某种方式)并忽略最后一个斜杠(可能通过路由)
http://host.com/IPAddress/10.10.10.77/28
我对IPv6没有太多考虑,但我想我也需要包含这方面的计划。您认为我应该如何解决这个问题?
答案 0 :(得分:2)
问题不在于它与MVC冲突,而是与默认路由语法不匹配。要创建匹配此语法的路由,我认为最佳路由是使用基于RegEx的路由。这是我以前用过的:http://www.iridescence.no/Posts/Defining-Routes-using-Regular-Expressions-in-ASPNET-MVC.aspx。您将需要v4和v6地址的表达式。
希望这有帮助。