仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 652|回复: 9
打印 上一主题 下一主题

[学习教程] ASP.NET教程之假造主机上用Asp.net完成Urlrewrite

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:28:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我以前很喜欢Serv-U,自从它用Java重写之后我就再也没用过,实在是太慢了,我宁可用IIS搭建FTP,虽然IIS搭建FTP在权限管理上很不灵活。在网上看到,良多伴侣在ASP.NET中做urlrewrite,用的是HttpHandle+Server.Transfer的办法。实在这类办法是毛病的。第一,HttpHandle是完成不了urlrewrite的;第二Server.Transfer是尺度的重定向,基本不是urlrewrite。实在,完成urlrewrite不必本人HttpHandle,也不必本人完成HttpModule,用几行代码就能够轻松完成。
我这里先容的是在假造主机上,假造主机分歧于本人的服务器,你是没有权限往修正IIS,也没有权限往安装iisrewrite之类的IIS插件。可是我们仍旧能够轻松完成必要的功效。
详细做法以下:翻开global.asax.cs,定位到protectedvoidApplication_BeginRequest(Objectsender,EventArgse)。从办法名我想也能猜到它是做甚么的。输出以下代码:
protectedvoidApplication_BeginRequest(Objectsender,EventArgse)
{
stringoldUrl=HttpContext.Current.Request.RawUrl;
stringpattern=@"^(.+)default/(d+).ASPx(?.*)*___FCKpd___0quot;;
stringreplace="$1default.aspx?id=$2";
if(Regex.IsMatch(oldUrl,pattern,RegexOptions.IgnoreCaseRegexOptions.Compiled))
{
stringnewUrl=Regex.Replace(oldUrl,pattern,replace,RegexOptions.Compiled
RegexOptions.IgnoreCase);
this.Context.RewritePath(newUrl);
}
}有了上边这段代码,我会见一个相似:.../default/123.ASPx的网址,固然这个网址在我的电脑上不存在,它就会被定向到:.../default.aspx?id=123。
固然,使用功效壮大的正则表达式,你能够恣意依照本人的必要来重写url,
这统统都是在服务器端冷静的举行,在客户端是不会有任何发觉的。因为是在假造主机上,我们只能重定向.ASPx文件,假如是本人的服务器,只需把后缀名在IIS中注册一下,就能够完成恣意后缀名的处置。好比你能够注册一个*.myweb如许的范例,如许他人会见default/456.myweb时,你能够把它重定向到default.aspx?id=456。总之一句话,只需你能想到.NET就能够帮你完成,而且这统统不必要几的代码。
语言是不是不是最重要的?
分手快乐 该用户已被删除
沙发
发表于 2015-1-19 13:54:12 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
简单生活 该用户已被删除
板凳
发表于 2015-1-25 23:00:55 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-4 12:56:19 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
山那边是海 该用户已被删除
5#
发表于 2015-2-9 22:45:00 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
深爱那片海 该用户已被删除
6#
发表于 2015-2-28 03:20:20 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
若相依 该用户已被删除
7#
发表于 2015-3-9 20:12:28 | 只看该作者
大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
admin 该用户已被删除
8#
发表于 2015-3-17 01:09:01 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
莫相离 该用户已被删除
9#
发表于 2015-3-17 01:09:01 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
不帅 该用户已被删除
10#
发表于 2015-3-23 12:20:34 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-27 16:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表