什么是 .mspx 文件?
.mspx是基于asp.net网站的一个页面,和.html或.asp等类似的道理,也就是说你下载的是.mspx这个网站页面,而不是这个页面内所含的应用程序。
结构包括在 ASP.NET 被建造的一个订制的 Web 处理程式。 mspx 档名扩充, 在 Web 服务器上的微软公司英特网信息服务 (IIS) 中被登记。 当 Microsoft.com Web 服务器之一接受的请求时候一。mspx 页, 这订制的 Web 处理程式拦截那一个呼叫而且经过它给处理的架构。
如何使自己的网站实现. mspx ?
1.开始 》 运行 》 inetmgr 》 网站/虚拟目录 》右键 》 属性 》 主目录/虚拟目录 》 配置 》 映射 》 添加 》
可执行文件:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
扩展名:.mspx
同时去掉确认文件存在前的勾
2.如果你的实际文件名是以.mspx结尾的,添加
<compilation>
<buildProviders>
<add extension= ".mspx " type= "System.Web.Compilation.PageBuildProvider "/>
</buildProviders>
</compilation>
<httpHandlers>
<add verb= "* " path= "*.mspx " type= "System.Web.UI.PageHandlerFactory "/>
</httpHandlers>
3. 如果你的实际文件名是以.aspx结尾的,在global.asax里(或者用urlrewrite):
<%@ Application%>
<script language=C# runat= "server ">
const string ASPX_EXT = ".aspx ";
const string MSPX_EXT = ".mspx ";
const string REWRITE_KEY = "Rewrite ";
protected void Application_BeginRequest(Object sender, EventArgs E)
{
string url = Context.Request.RawUrl.ToLower();
if (url.IndexOf(MSPX_EXT) > 0)
{
Context.Items[REWRITE_KEY] = true;
url = url.Replace(MSPX_EXT,ASPX_EXT);
Context.RewritePath(url);
}
}
protected void Application_PreRequestHandlerExecute(Object sender, EventArgs E)
{
if (Context.Items[REWRITE_KEY] != null)
Context.RewritePath(Context.Request.RawUrl);
}
</script>