ASP.NET 路由实现去除aspx后缀
源码下载
引用dll(DownLoad)
DotNetOpenAuth.Core.dll
Microsoft.AspNet.FriendlyUrls.dll
Microsoft.AspNet.Membership.OpenAuth.dll
Web.Config加入配置
<configuration><runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><!--# ASP.NET 实现去掉aspx后缀 #--><assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" /><bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" /><!--# ASP.NET 实现去掉aspx后缀 #--></dependentAssembly></assemblyBinding></runtime>
</configuration>
<!--ProjectGuid: 5ACDD4E8-3966-4E26-9538-B62996B5E60F-->
Global.asax加入配置
protected void Application_Start(object sender, EventArgs e)
{/*# ASP.NET 实现去掉aspx后缀 #*///扩展自定义路由
//var defaults = new RouteValueDictionary { { "name", "*" }, { "id", "*" } };
//RouteTable.Routes.MapPageRoute("", "employees/{name}/{id}", "~/EmployeePage.aspx", true, defaults);//defaults可为null
//页面中读取路由值
//string name = Page.RouteData.Values["name"].ToString()
//string id = Page.RouteData.Values["id"].ToString()
RouteConfig.RegisterRoutes(RouteTable.Routes);//官方aspx路由规则/*# ASP.NET 实现去掉aspx后缀 #*/
}
新建RouteConfig.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;/*# ASP.NET 实现去掉aspx后缀 #*/
using Microsoft.AspNet.Membership.OpenAuth;
using System.Web.Routing;
using Microsoft.AspNet.FriendlyUrls;
/*# ASP.NET 实现去掉aspx后缀 #*/namespace AuthStore
{public static class RouteConfig{public static void RegisterRoutes(RouteCollection routes){routes.EnableFriendlyUrls();}}
}
ASP.NET 扩展=>去除asmx后缀
protected void Application_BeginRequest(object sender, EventArgs e)
{
/*# ASP.NET 实现去除asmx后缀 #*/
if (Request.Url.LocalPath.Contains(".asmx"))
this.MapPageRoute("/api/apiCenter", "/api/apiCenter.asmx");
/*# ASP.NET 实现去除asmx后缀 #*/
}
/*
* Web.Config加入(禁止直接访问asmx,只允许Post、Get、Soap请求asmx)
<system.web>
<webServices>
<protocols>
<add name="HttpSoap"/>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
<wsdlHelpGenerator href="拒绝访问.aspx"/>
</webServices>
</system.web>
*/
/// <summary>
/// URL重写(区分大小写)
/// </summary>
/// <param name="VirtualPath">虚拟路径(区分大小写)</param>
/// <param name="RealPath">真实路径(区分大小写)</param>
private void MapPageRoute(string VirtualPath, string RealPath)
{
string LocalPath = Request.Url.LocalPath;
if (!LocalPath.Contains(RealPath))
{
if (LocalPath.Contains(VirtualPath))
{
Context.RewritePath(LocalPath.Replace(VirtualPath, RealPath));
}
}
}
ASP.NET 路由实现去除aspx后缀相关推荐
- [转]URLRewrite隐藏.aspx后缀名的应用(转载+延伸)
本文转自:http://www.cnblogs.com/showker/archive/2010/01/11/1644062.html 前言:为什么转载这篇文章?因为它有思考有实践.最近因为业务的需要 ...
- ASP.NET路由系统实现原理:HttpHandler的动态映射
我们知道一个请求最终通过一个具体的HttpHandler进行处理,而我们熟悉的用于表示一个Web页面的Page对象就是一个HttpHandler,被用于处理基于某个.aspx文件的请求.我们可以通过H ...
- ASP.NET 路由
ASP.NET 路由使您可以使用不必映射到网站中特定文件的 URL.由于 URL 不必映射到文件,所以可以在 Web 应用程序中使用 URL,这些 URL 是描述性的用户操作,因此更易于被用户理解. ...
- Asp.net 路由详解
网络上关于asp.net路由知识的一些资源: https://www.cnblogs.com/cklovefan/p/7785307.html https://blog.csdn.net/slowli ...
- python文件后缀切割_python如何去除文件后缀
python去除文件后缀的方法: 1.调用os模块,用os模块的listdir()方法和walk()方法获取文件夹和文件名list_name = [] Makedir(outDir) for dir ...
- shell字符串切割 去除文件名后缀
shell字符串切割,去除文件名后缀 去除文件名后缀
- 应用Ajax.net在Asp.net中实现无aspx文件应用
1,Ajax是什么 Ajax,异步JavaScript与XML,是使用客户端脚本与Web服务器交换数据的Web应用开发方法.这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新.使用Ajax ...
- 去除aspx生成的页面最开始的空行
使用.aspx生成的页面一般都会有一个或多个空行,当然这些空行不会影响页面在浏览器中的渲染结果,不过在查看源代码的时候感觉有些别扭,我曾试着去删除这些空行,但没有成功,你知道你们有没有去尝试. 1 & ...
- aspx怎么转成java,Asp.net 2.0 中.aspx请求,即如何生成响应的Html文件(原创)
对于研究过内核的人肯定以为整个.net 最终开始是IISAPIRuntime.ProcessReuqest()然后调用ISAPIRuntime.ProcessRequest(IntPtr ecb, i ...
最新文章
- 【iCore3 双核心板】例程二十一:LAN_TCPS实验——以太网数据传输
- 重温ES6核心概念和基本用法
- react全家桶从0到1(react-router4、redux、redux-saga)
- gRPC的那些事 - streaming
- 不同网段互PING,对不?
- Windows、Linux系统安装JDK配置Java环境变量
- intel服务器最新主板芯片组,intel主板芯片组的介绍
- confusion中文_confusion
- 百度 AI 再发福利!不仅有实战营,还有手把手教学的“深度学习公开课”
- 串行设备造成鼠标乱跑的问题
- matlab源码——政治优化算法(Political Optimizer,PO)
- 拓端tecdat|R语言分布滞后非线性模型(DLNM)研究发病率,死亡率和空气污染示例
- j2ee学习方法摘要
- 缺少链接库报错:ld: symbol(s) not found for architecture x86_64
- Rust: trim(),trim_matches()等江南六怪......
- 刷排名优优软件_QQ群排名技术原理
- 计算机网络-域名与IP地址详解
- js动态添加多个元素
- 什么是CPU,GPU,TPU,DPU,NPU,BPU
- TI-C2000-捕获模块ECAP应用-以欧姆龙E6B2-CWZ6C测速编码器为例