背景
上面要做个健康检查功能,我的项目要加个url /monitor.action返回success文本。
开始的解决办法-添加路由
routes.MapRoute( name: "HealthCheck", url: "monitor.action", defaults: new { controller = "SysMonitor", action = "Index", id = UrlParameter.Optional } );
问题
这个url在mvc里会识别为一个静态文件,不会走路由,如果使用 /monitor.action/这样访问倒是可以实现。But上面规定不能要后面的slash。
最终解决方案
在加了路由的基础上,再在web.config中的system.webServer节点的modules中加入下面这两句话
<remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
这样测试就通过了。
关于UrlRoutingModule-4.0的知识,请看:https://www.cnblogs.com/zhangxiaolei521/p/5691344.html