做项目的时候遇到一个问题,就是在global里进行配置了路由,配置代码如下:
但是在我用http://xxxx/zt.asp这个路径进行访问的时候,调试并没有跳转到该控制器下的方法内,而是直接出现404错误。
个人觉得其原因是因为配置带有后缀名的路由,默认访问的是其静态文件,故在该文件下访问zt.asp并没有找到这样一个文件,所以出现404问题。
解决办法如下:
第一种:即在web.config文件里配置如下
第二种:
两种方法对比,根据查阅资料,第二种性能更好点,两者的差别在于第一种相当于访问该站点的所有请求都会进入modules处理,包括一些静态文件的请求,当一些很大pv站点这样做的话就会造成一定的压力从而影响性能。
测试两者的请求文件方法为
protected void Application_BeginRequest(object sender, EventArgs e) { using (StreamWriter _testData = new StreamWriter(Server.MapPath("~/data.txt"), true)) { _testData.WriteLine(Request.Url.ToString()); } }