您的位置:首页 > 其它

.NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径

2011-11-04 21:58 453 查看

示例环境:VS2010

要求:

重写前:http://localhost:13275/Default.aspx?username=wilson

重写后:http://localhost:13275/wilson

第一步:下载相关DLL(ActionlessForm.dll和UrlRewriter.dll)

下载链接一: http://download.csdn.net/detail/porschev/3704868 下载链接二: http://files.cnblogs.com/zhongweiv/Lib.rar

第二步:VS2010创建测试网站应用程序,并添加以上DLL的引用

PS: 操作步骤省略,我想都会

第三步:在项目中添加asp.net文件(App_Browsers)

App_Browsers这个我们比较少用

App_Browsers文件夹包含.browser文件,.browser文件是XML文件,可以标识向应用程序发出请求的浏览器,并理解这些浏览器的功能。
在C:\Windows\Microsoft.NET\ Framework\v2.0.50727\CONFIG\Browsers中有一个可全局访问的.browser文件列表。另外,如果要
修改这些默认的浏览器定义文件,只需将Browsers文件夹中的对应.browser文件复制到应用程序的\App_Browsers文件夹,修改其定义即可。

如果对这些Asp.Net文件夹了解不多可以看看这篇文章,相信很有帮助
http://blog.csdn.net/icecityman/article/details/4748018

1.选择项目--->右键添加--->添加asp.net文件夹--->App_Browsers
2.在App_Browsers下创建Form.browser文件

<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.HtmlControls.HtmlForm"
adapterType="URLRewriter.Form.FormRewriterControlAdapter"/>
</controlAdapters>
</browser>
</browsers>


PS: refID:不可以与ID和arentID同时存在

第四步:配置web.config

1 .在configuration节点下添加

<configSections>
<section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter"/>
</configSections>

<CustomConfiguration>
<urls>
<!--([\w]+)表示,1到n个字母或数字或下划线或汉字组成-->
<add virtualUrl="~/([\w]+)*" destinationUrl="~/Default.aspx?username=$1"/>
</urls>
</CustomConfiguration>


PS:正则的部分,要根据不同的规则去写,如果有不会的,可以留下详细规则,我看到后会尽快回复!!

2.在System.web节点下添加

<httpModules>
<add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule"/>
</httpModules>


解释一下httpModules的的Add节点属性:
type:HttpModule的标识号和类库名称
name:取一个较为友好的名称

用MSDN的截图来解释一下



第五步:测式

1.在项目Default.aspx.cs文件Load事件中加入

if (!IsPostBack)
{
StringBuilder sb = new StringBuilder();
sb.Append("当前所在位置:Default.aspx<br/>");
if (!string.IsNullOrEmpty(Request.Params["username"]))
{
sb.Append("所接收到的参数username:" + Request.Params["username"]);
}
Response.Write(sb.ToString());
}


这里的测试主要是测试直接用重写后规则访问,看是否访问成功,并测试是否能够接收到username参数
还有输入重写前的地址,是否能访问成功

测试一:找开----->http://localhost:13275/Default.aspx
结果(aspx页输出)------>当前所在位置:Default.aspx

测试二:找开----->http://localhost:13275/wilson
结果(aspx页输出)------>当前所在位置:Default.aspx
所接收到的参数username:wilson

第六步:在IIS7.5里配置

完成前五步后,直接运行VS可以重写成功,但发布在IIS中时就会有相应的错误,这样需要配置一下IIS,详情请看下面博客地址

http://www.cnblogs.com/zhongweiv/archive/2011/10/29/UrlRewriter_IIS.html

源码下载地址一:http://download.csdn.net/detail/porschev/3705332
源码下载地址二:http://files.cnblogs.com/zhongweiv/UrlRewriterDemo.rar

接上一篇 .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径

在IIS中新建网站(端口号8111)

直接运行http://localhost:8111/

错误截图



配置方法:



二、添加通配符脚本映射,选择:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll



三、找到和网站相对的连接池,选择framework 4.0 经典模式





四、选择应用程序连接池,高级设置,启用32位应用程序,设为true



11 2011 档案

Jquery 事件冒泡

摘要: 什么是JS事件冒泡?:在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。(摘自网络)如何来阻止Jquery事件冒泡?通过一个小例子来解释<%@ Page Language="C#" AutoEventWireup="true" CodeFile=&quo阅读全文

posted @ 2011-11-04 10:02 porschev 阅读(1088) | 评论 (14) 编辑

.NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的配置方法)

摘要: 接上一篇 .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径在IIS中新建网站(端口号8111) 直接运行http://localhost:8111/ 错误截图配置方法:二、添加通配符脚本映射,选择:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll三、找到和网站相对的连接池,选择framework 4.0 经典模式四、选择应用程序连接池,高级设置,启用32位应用程序,设为true阅读全文

posted @ 2011-11-02 10:20 porschev 阅读(148) | 评论 (2) 编辑

.NET4.0下web应用程序用UrlRewriter.dll重写无后缀路径

摘要: 示例环境:VS2010要求: 重写前:http://localhost:13275/Default.aspx?username=wilson 重写后:http://localhost:13275/wilson第一步:下载相关DLL(ActionlessForm.dll和UrlRewriter.dll) 下载链接一: http://download.csdn.net/detail/porschev/3704868 下载链接二: http://files.cnblogs.com/zhongweiv/Lib.rar第二步:VS20... href="/article/5054531.html" target=_blank>阅读全文

posted @ 2011-11-02 10:18 porschev 阅读(1124) | 评论 (22) 编辑

CodeSmith 创建Ado.Net自定义模版(四)

摘要: CodeSmith 创建Ado.Net自定义模版(四)接上一篇: CodeSmith 创建Ado.Net自定义模版(三)编写业务逻辑层的模版:Step4_BLL.cst<%@ CodeTemplate Language="C#" TargetLanguage="C#" ResponseEncoding="UTF-8" Description="实体类" %><%@ Property Name="NameSpace" Type="System.String" 阅读全文

posted @ 2011-11-01 18:00 porschev 阅读(80) | 评论 (0) 编辑

CodeSmith 创建Ado.Net自定义模版(三)

摘要: CodeSmith 创建Ado.Net自定义模版(三)接上一篇: CodeSmith 创建Ado.Net自定义模版(二)写数据访问层模版:Step3_DAL.cst (接口一这步在这套模版中省略,可以自行补充)写几个通用方法,比如:得到全部实体集合、通过ID得实体、添加、删除、修改几个方法我这里没有使用sqlhelper之类的帮助类<%@ CodeTemplate Language="C#" TargetLanguage="C#" ResponseEncoding="UTF-8" Description="实体类&qu阅读全文

posted @ 2011-11-01 17:58 porschev 阅读(75) | 评论 (0) 编辑

CodeSmith 创建Ado.Net自定义模版(二)

摘要: CodeSmith 创建Ado.Net自定义模版(二)接第一篇: CodeSmith 创建Ado.Net自定义模版(一)建立第二个C# Template:Step2_Model.cst(实体类模版)代码:<%@ CodeTemplate Language="C#" TargetLanguage="C#" ResponseEncoding="UTF-8" Description="实体类" %><%@ Property Name="NameSpace" Type="Sy阅读全文

posted @ 2011-11-01 17:51 porschev 阅读(897) | 评论 (0) 编辑

CodeSmith 创建Ado.Net自定义模版(一)

摘要: CodeSmith Ado.Net模版(一)(本文属于入门级,望高手见谅!哈哈)开始创建自己的ADO.NET模版本文使用CodeSmith Professional 5.0.1.4983进行编写首先,打开CodeSmith StudioCodeSmith中有两个EXE文件:CodeSmith Studio.exe和CodeSmith Explorer.exeCodeSmith Studio.exe:用来创建自定义模板CodeSmith Explorer.exe:用来导入模板并且生成代码一、创建一个文件夹:AdoTemp(取名自定)二、在工具的Template Explorer中点击Create阅读全文

posted @ 2011-11-01 14:14 porschev 阅读(959) | 评论 (4) 编辑

asp.net生成静态页

摘要: 做个生成静态页示例:采用替换模版页的形式生成静态页第一步:新建项目,创建一个简单模版页:TemplatePage.htm<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Porschev阅读全文

posted @ 2011-11-01 11:10 porschev 阅读(272) | 评论 (4) 编辑

C:\Windows\Microsoft.NET\Framework\v2.0.50727\ Temporary ASP.NET Files\root\...dll 拒绝访问

摘要: C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\...dll 拒绝访问1.在找到C:\Windows\Temp 文件夹2.给Temp文件夹添加NETWORK SERVICE用户,给读写权限具体步骤文件夹右键属性--->安全--->编辑--->添加--->高级--->立即查找--->在搜索结果中选中NETWORK SERVICE--->确定--->确定--->勾上读取和修改(也可以给个完全控制权限)--->确定阅读全文

posted @ 2011-11-01 11:08 porschev 阅读(100) | 评论 (0) 编辑

解决文本框在updatepanel中得到焦点,输入法不能切换到中文的问题

摘要: 今天看人提问才发现TextBox放在updatepanel中,当点击Button时,在Button的click事件中得到焦点。。。本来应该用TextBox1.Focus();就可以得到焦点果然得到焦点完全没有问题,但是新问题在文本框中没法切换输入法至中文输入解决方法:在TextBox1.Focus();得到焦点之后,后面再加入这段脚本注册:ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "", "setTimeout(/"document.getElementBy阅读全文

posted @ 2011-11-01 11:08 porschev 阅读(15) | 评论 (0) 编辑

sql2008 附加数据库时 错误5123

摘要: 今天重装了一下家里电脑的数据库在附加己有数据库时,出现5123错误错误载图解决方法:1.直接把己有数据库复制到sql安装目录下C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA 这样就可以附加,不知道是不是在装数据库时漏选了什么操作,以前没遇到过。2.在己有数据库mdf和ldf文件上,右键---->属性---->添加---->高级---->立即查找---->Authenticated Users---->确定 ------>完全控制勾上---->确定以上两种方法阅读全文

posted @ 2011-11-01 11:07 porschev 阅读(64) | 评论 (3) 编辑

得到真实外网IP、IP所在国家、省份、地区

摘要: 实现方式:通过正则抓取IP显示网站中的数据。。。。 友情提示:这种方式效率不算高,如果用在WEB中,如果用得少可以用这种方式,如果常用,还是建议用IP库 #region##得到真实IP以及所在地详细信息 ///<summary> /// 得到真实IP以及所在地详细信息(Porschev) ///</summary> ///<returns></returns> public string GetIpDetails() { string url = "http://www.ip13...阅读全文

posted @ 2011-11-01 09:45 porschev 阅读(1004) | 评论 (2) 编辑

Asp.Net开发等级星使用(Jquery Rating)

摘要: 插件参数:rater第一个参数是AJAX提交的URLrater第二个参数maxvalue:最大星数curvalue:默认选择多少颗星title:鼠标放在星上的提示enable:可设置true or false,控件是否可用rater的第三个参数回调函数aspx页代码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%><!DOCTYPE html PUBLIC &阅读全文

posted @ 2011-11-01 09:27 porschev 阅读(281) | 评论 (0) 编辑

Asp.Net无刷新分页( jquery.pagination.js)

摘要: 采用Jquery无刷新分页插件jquery.pagination.js实现无刷新分页效果友情提示:本示例Handler中采用StringBuilder的append方法追加HTML,小数据量可以,但是大数据或是布局常变,建议返回JSON格式的数据,性能和灵活性更好!1.插件参数列表2.页面内容:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%><!DOCTYPE阅读全文

posted @ 2011-10-31 09:23 porschev 阅读(2905) | 评论 (43) 编辑

自学WP7第一个例子:时钟

摘要: 自学WP7做的第一个程序:时钟做的很山寨,没用素材用TextBlock做的表盘和指针,放在一个Canvas上RotateTransform类来控制偏移角度MainPage.xaml<phone:PhoneApplicationPage x:Class="Clock.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xml阅读全文

posted @ 2011-10-30 11:10 porschev 阅读(1100) | 评论 (14) 编辑

鼠标点击层以外的地方层隐藏

摘要: 根据去哪儿(http://www.qunar.com/)输入框点击按钮而写实现功能效果:1、点击按钮,相应层显示,点击层以外的部分层隐藏;2、重复点击按钮时,按钮附属层显示时变隐藏,反之亦然;3、如果一个页面上有两个以上这种效果,层会有互斥效果;<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %><!DOCTYPE html PUBLIC "-//W阅读全文

posted @ 2011-10-29 17:35 porschev 阅读(708) | 评论 (0) 编辑

前台JS(Jquery)调用后台方法 无刷新级联菜单示例

摘要: 前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例CasMenu.aspx页面:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CasMenu.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/阅读全文

posted @ 2011-10-29 11:51 porschev 阅读(1207) | 评论 (11) 编辑

项目中对图片的缩放和水印效果

摘要: ///<summary>/// 获取一个图片按等比例缩小后的大小。///</summary>///<param name="maxWidth">需要缩小到的宽度</param>///<param name="maxHeight">需要缩小到的高度</param>///<param name="imageOriginalWidth">图片的原始宽度</param>///<param name="imageOriginalHei阅读全文

posted @ 2011-10-29 11:42 porschev 阅读(762) | 评论 (0) 编辑
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐