2015年7月24日
20:50
这篇文章描述了你在asp.net web pages(Razor)中遇到的问题和一些建议的解决方法
包括以下几个内容
- 运行页面的问题
- Razor代码的问题
- 安全和成员关系的问题
- 发送邮件的问题
- 补充资源
运行页面的问题:有许多问题会阻止网页正常运行,下面将列出常见的错误信息和可能出错的原因
HTTP Error403 -Forbiden:Access is denied
没有访问这个页面或者目录所需的凭证,导致拒绝访问
这个错误可能发生在服务器运行在不正确的.Net FrameWork版本上,确保服务器至少装有.Net FrameWork 4.同时确保应用程序的配置也是正确的
如果这个问题是发生在本地的WebMatrix上,点击Siteworkspace,再在treeview里点击Setting。在选择.Net FrameWork Version 列表中,选择.net 4。如果这个版本已经设置了,那使用管理员权限再运行一遍WebMatrix
确保网页的根目录至少有一个.cshtml文件
如果是在远程服务器上发现这个错误,确保它运行在正确的.net framework的版本下。也可以尝试通过运行 aspnet_regiis -iru 命令修复安装 详情可以搜索 Asp.net IIS Registration tool
HTTP Error403.14 -Forbidden
服务器配置中不包含这个目录
这种错误发生在用户请求一个受保护的资源或者一个受保护的文件夹
HTTP Error404.17 -Not Found
请求的脚本内容不能本静态文件处理
这种问题通常出现在服务器使用.NetFramework 4没有正确配置,没有识别代码块@{} 。处理方法可以参照403 Access isdenied
HTTP Error404.7 -Not Found
请求过滤模块配置为拒绝的文件扩展名
这种问题通常发生在.cshtml或.vbhtml 扩展名在服务器上被明确阻止。这个问题的明显症状就是在使用特定的扩展名时工作不正常,不用时可以工作。一个可能的解决方法就是在配置文件里重新允许特点扩展名。下面这个例子说明了如何重新允许
<system.webServer>
<security>
<requestFiltering>
<fileExtensions>
<removefileExtension=".cshtml" />
<addfileExtension=".cshtml" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
HTTP Error404.8 -Not Found
请求筛选模块被配置为拒绝路径中包含一个hiddenSegment section
这个错误通常发生在请求一个受保护的资源或者一个受保护的文件夹