源码下载

引用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后缀相关推荐

  1. [转]URLRewrite隐藏.aspx后缀名的应用(转载+延伸)

    本文转自:http://www.cnblogs.com/showker/archive/2010/01/11/1644062.html 前言:为什么转载这篇文章?因为它有思考有实践.最近因为业务的需要 ...

  2. ASP.NET路由系统实现原理:HttpHandler的动态映射

    我们知道一个请求最终通过一个具体的HttpHandler进行处理,而我们熟悉的用于表示一个Web页面的Page对象就是一个HttpHandler,被用于处理基于某个.aspx文件的请求.我们可以通过H ...

  3. ASP.NET 路由

    ASP.NET 路由使您可以使用不必映射到网站中特定文件的 URL.由于 URL 不必映射到文件,所以可以在 Web 应用程序中使用 URL,这些 URL 是描述性的用户操作,因此更易于被用户理解. ...

  4. Asp.net 路由详解

    网络上关于asp.net路由知识的一些资源: https://www.cnblogs.com/cklovefan/p/7785307.html https://blog.csdn.net/slowli ...

  5. python文件后缀切割_python如何去除文件后缀

    python去除文件后缀的方法: 1.调用os模块,用os模块的listdir()方法和walk()方法获取文件夹和文件名list_name = [] Makedir(outDir) for dir  ...

  6. shell字符串切割 去除文件名后缀

    shell字符串切割,去除文件名后缀 去除文件名后缀

  7. 应用Ajax.net在Asp.net中实现无aspx文件应用

    1,Ajax是什么 Ajax,异步JavaScript与XML,是使用客户端脚本与Web服务器交换数据的Web应用开发方法.这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新.使用Ajax ...

  8. 去除aspx生成的页面最开始的空行

    使用.aspx生成的页面一般都会有一个或多个空行,当然这些空行不会影响页面在浏览器中的渲染结果,不过在查看源代码的时候感觉有些别扭,我曾试着去删除这些空行,但没有成功,你知道你们有没有去尝试. 1 & ...

  9. aspx怎么转成java,Asp.net 2.0 中.aspx请求,即如何生成响应的Html文件(原创)

    对于研究过内核的人肯定以为整个.net 最终开始是IISAPIRuntime.ProcessReuqest()然后调用ISAPIRuntime.ProcessRequest(IntPtr ecb, i ...

最新文章

  1. 【iCore3 双核心板】例程二十一:LAN_TCPS实验——以太网数据传输
  2. 重温ES6核心概念和基本用法
  3. react全家桶从0到1(react-router4、redux、redux-saga)
  4. gRPC的那些事 - streaming
  5. 不同网段互PING,对不?
  6. Windows、Linux系统安装JDK配置Java环境变量
  7. intel服务器最新主板芯片组,intel主板芯片组的介绍
  8. confusion中文_confusion
  9. 百度 AI 再发福利!不仅有实战营,还有手把手教学的“深度学习公开课”
  10. 串行设备造成鼠标乱跑的问题
  11. matlab源码——政治优化算法(Political Optimizer,PO)
  12. 拓端tecdat|R语言分布滞后非线性模型(DLNM)研究发病率,死亡率和空气污染示例
  13. j2ee学习方法摘要
  14. 缺少链接库报错:ld: symbol(s) not found for architecture x86_64
  15. Rust: trim(),trim_matches()等江南六怪......
  16. 刷排名优优软件_QQ群排名技术原理
  17. 计算机网络-域名与IP地址详解
  18. js动态添加多个元素
  19. 什么是CPU,GPU,TPU,DPU,NPU,BPU
  20. TI-C2000-捕获模块ECAP应用-以欧姆龙E6B2-CWZ6C测速编码器为例

热门文章

  1. 批处理教程6-color
  2. html 链接到 appstore,怎么解决无法连接到appstore
  3. 运行一个函数,其中的变量自动加一(python)
  4. vb 修改sql数据库服务器时间格式,博途使用小结:用VB脚本向SQL数据库中写数据的方法...
  5. 用IDM下载SAP软件,享受风一样的极速下载!
  6. Python入门小游戏:剪刀石头布
  7. mras3d的基本使用
  8. android listview使用glide异步加载图片错位,闪烁问题
  9. 分手当晚我睡得很踏实
  10. 什么是功能入口设计---上海天象网络技术有限公司