asp.net-mvc-4 – 扩展名的URL不能通过路由处理
发布时间:2020-12-15 23:48:39 所属栏目:asp.Net 来源:网络整理
导读:我一直在建议 from this article在asp.net mvc3中设置一个robots.txt文件,使用控制器来处理服务器响应,而IIS 8.0 express正在返回一个找不到错误的文件,而不是asp.net错误. 在这些情况下,如何让IIS不寻找文件?在web.config中有需要的东西吗? 解决方法 IIS
我一直在建议
from this article在asp.net mvc3中设置一个robots.txt文件,使用控制器来处理服务器响应,而IIS 8.0 express正在返回一个找不到错误的文件,而不是asp.net错误.
在这些情况下,如何让IIS不寻找文件?在web.config中有需要的东西吗? 解决方法
IIS尝试在这里变得聪明.他拦截url中的点,并认为这是一个静态文件,并尝试使用默认的StaticFile处理程序.它没有事件到达受管理的ASP.NET应用程序.
第一种可能性是在您的web.config中添加以下内容 <system.webserver> <modules runAllManagedModulesForAllRequests="true" /> 但实际上这不是我建议你做的事情,因为这可能会对您的应用程序的性能产生负面影响,因为现在所有对静态文件的请求(如.js,.css,图像,…)都将通过管理管道. 推荐的方法是将以下处理程序添加到您的web.config(< system.webServer>的< handlers>标签)中: <system.webServer> <handlers> <add name="Robots-ISAPI-Integrated-4.0" path="/robots.txt" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> ... </handlers> </system.webServer> 注意我们如何指定这个处理程序只适用于特定的URL和HTTP动词. 现在当您获取/robots.txt时,IIS将不再使用StaticFile处理程序处理它,而是将其传递到托管管道ASP.NET.然后它将被路由引擎拦截并路由到相应的控制器动作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 细说ASP.NET Forms身份认证
- asp.net – 我应该继续研究MVC 1.0上的项目还是停止学习MVC
- asp.net – 解决方案:在使用User控件时,元素不是vs2008中的
- ASP.NET – C#vs VB.NET – 间接差异和您最初可能不会考虑的
- ASP.NET将原始HTML解析为控件
- 如何以编程方式将ListItems添加到ASP.NET中的DropDownList?
- asp.net-mvc – 在Umbraco 6.1.1 MVC 4中,如何使用继承自Um
- Asp.net 5 MVC 6,添加facebook电子邮件的权限
- asp-classic – 为什么这个函数与任意数字相比作为空检查?
- 是否可以运行异步调用来在ASP.NET中设置会话?
推荐文章
站长推荐
- asp.net – 如何使用HtmlEncode与TemplateFields
- asp.net中machineKey的作用
- Asp.Net Core 发布到 Docker(Linux Centos 虚拟
- 如何重定向到ASP.NET MVC中的调用页面?
- asp.net – 带有WebForms和WebApi的Thinktecture
- asp.net-mvc – 缓存的最佳解决方案
- asp.net-mvc – FileContentResult和国际字符
- asp.net-mvc – ASP.NET MVC从数据库加载Razor视
- ASP.NET Core使用微软官方类库实现汉字转拼音
- asp.net – 带有MVC 2的自定义ViewModel强类型HT
热点阅读