您的位置:首页 > 编程语言 > ASP

Asp.net 让其他后缀名、扩展名文件像aspx页面一样被解析

2017-07-05 00:00 405 查看
摘要: 用asp.net网站模拟其他网站时,会遇到文件后缀名不同的问题,例如:.json,.jsonp,.php等,如果只是静态的文件倒没什么,如果是动态的就麻烦了,因为asp.net默认只解析aspx

一. 目标

假设添加 .jsonp后缀名,让该后缀名文件和aspx页面一样被解析

二. 实现步骤

1. 让IIS辨认文件扩展名

1) 方法一:修改Web.config,在configuration->system.webServer标签下加入

<staticContent>
<mimeMap fileExtension=".jsonp" mimeType="application/javascript" />
</staticContent>


2) 方法二:在IIS管理器中打开"MIME类型",查看有没有.jsonp扩展名,如果没有,添加.jsonp扩展名。MIME类型中设置以后,现在可以通过浏览器访问到.jsonp扩展名的文件了,但是只是作为静态页面获取,文件中的asp代码不会被解析。

2. 增加BuildProvider

在Web.config中configuration->system.web->compilation标签下增加

<buildProviders>
<add extension=".jsonp" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>


3. 增加处理程序映射

1) 方法一:在Web.config中configuration->system.webServer标签下增加

<handlers>
<add name="JsonpAsp-Integrated-4.0" path="*.jsonp" verb="*"
type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified"
preCondition="integratedMode" />
</handlers>
​

2) 方法二:在IIS管理器中打开“处理程序映射”功能,运行“添加托管处理程序”,请求路径中输入*.jsonp,类型中输入System.Web.UI.PageHandlerFactory,名称自己定。

做完以上3步就可以实现非aspx扩展名也可以按asp页面进行解析了。

PS. 页面代码中如果不包含Html标签对页面编码进行说明,可能会有乱码问题,可以通过设置进行处理:在Web.config中configuration->system.web标签下添加配置

<globalization fileEncoding="utf-8" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐