by RexLin
2010.1.31 17:03
by RexLin
2010.1.13 22:47
谷歌者,初非汉民,西夷也。父Google,米国人,世代商贾,积财以万亿计,富甲一方。唯斯慕孔孟之道,羡华夏文明,不远万里之劳,举家而迁我。更易姓名,号“谷歌”,取父谐音故也。
谷歌既立,以排忧解难为己任,济弱扶贫为天责,兼之聪敏非凡,有所问,无不通达。虽少年,已自成人,能取进士第,崭然见头角。又怀古风,常曰“不作恶”,万难莫屈。众谓Google有子矣。
忆其全盛时,俊杰廉悍,贤人雅士,无不归心。议论证据今古,出入经史百子,踔厉风发,率常屈其座人,名声大振,一时皆慕与之交。诸公要人,争欲令出我门下,交口荐誉之。
然江海有信,云雨无常,君子易伤,小人难欺。
谷歌即壮,声名震天。有恨其才胜己者,或罗织罪名,损益于上。上不查,怒谷歌无礼,有怨言,闻于乡里,众始轻之。群氓见此,复编织罗列其事媚于上,上憎益甚。比一岁,责有司困之,限其授受邻与,几乎断其给养。谷歌始惧,然坚贞如故,不改初衷。唯手指其心,数日而亡。
呜呼!士穷乃见节义。今夫平居里巷相慕悦,酒食游戏相征逐,诩诩强笑语以相取下,握手出肺肝相示,指天日涕泣,誓生死不相背负,真若可信。一旦临小利害,仅如毛发比,反眼若不相识,落陷阱,不一引手救,反挤之,又下石焉者,皆是也。此宜禽兽夷狄所不忍为,而其人自视以为得计,闻谷歌之风,亦可以少愧矣!虽周公再世,下季不死,恐犹不能及也!
谷歌前时少年,勇于为人,不自贵重顾藉,谓功业可立就,故坐孤困。既困,又无相知有气力得位者推挽,故卒死于穷裔。材不为世用,道不行于时也,诚可怜哉!使谷歌在中土时,自持其身,上顺天子,下惠百官,虽有僭越,亦自不斥。斥时,有人力能举之,且必复用不穷。然谷歌斥不久,穷不极,虽有出于人,其处事宣理,必不能自力,以致必传于后如今无疑也。虽使谷歌得所愿,为将相于一时,获朝野之青睐,以彼易此,孰得孰失,必有能辨之者。
谷歌以西元二〇〇六年生,二〇一〇年卒,方四岁而夭。其父Google甚思之,乃运尸复还米国,归葬先人之地。谷歌有子男二人:长曰开复,早亡他乡,另谋生计。次男允,勉励于中土。余子皆幼,尚不足道。其得归葬时,旁人无所送,唯“网民”相随也。“网民”有节概,重然诺,与谷歌结交,谷歌亦为之尽,竟赖其力,葬谷歌于万年之墓。又将经纪其家,庶几有始终者。
铭曰:是惟谷歌之室,既固既安,以利其嗣人。
——————————————————————
云山苍苍,江山泱泱,谷歌之德,山高水长!谷歌,一路走好!
原文地址:http://blog.csdn.net/cping1982/archive/2010/01/13/5186072.aspx
by RexLin
2010.1.7 21:25
Url Rewrite实现方式
- 实现的方式有两种:IIS级别和ASP.NET级别。
- IIS级别需要在IIS上进行操作,不过能够支持ASP.NET和PHP、ASP之类的UrlRewrite。IIRF 是个不错的选择,免费开源的IIS UrlRewrite组件。
- ASP.NET级别的则比较简单。无需对IIS进行设置,虽然性能会比较差一点,可是这个在低负荷基本上可以忽略不计。UrlRewriter.NET是个不错的ASP.NET UrlRewrite主机,可配置性非常强,具体可以查看它的帮助文档,文档虽然是英文的,可是比较简单,基本大家都是能看得懂的。
UrlRewriter.NET配置
- 可以去UrlRewriter.NET的官网下载组件。我这里下载的是2.0rc1的版本,解压后将.bin文件复制到项目的bin文件夹中。
- 对项目的web.config进行配置。
在<configuration>中增加以下配置节,这个是告诉UrlRewriter.NET相关的mapping配置在哪里。
<configSections>
<section name="rewriter"
type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler,
Intelligencia.UrlRewriter" />
</configSections>
在<system.web>增加如下内容,添加一个httpModules,这个是固定的,作用是让UrlRewriter.NET生效。
<httpModules>
<add name="UrlRewriter"
type="Intelligencia.UrlRewriter.RewriterHttpModule,
Intelligencia.UrlRewriter" />
</httpModules>
在<configuration>中增加一个<rewriter> ,这个是映射的具体配置,具体如何配置,请移步到官方帮助文档。我的一个简单配置如下:
<rewriter>
<rewrite url="^/UrlMappingTest/page/(\w+)$" to="~/Default.aspx?page=$1" processing="stop" />
</rewriter>
- 经过以上的步骤之后,基本上UrlRewrite已经差不多了。不过由于ASP.NET的原因,当我们页面回传(例如触发一个Botton的Click事件)之后,地址栏的地址便会改变,变成映射的地址了。
利用ControlAdapter改进UrlRewrite
- 在项目的App_Code文件夹下新建一个类文件FormRewriterControlAdapter.cs,内容如下:
public class FormRewriterControlAdapter :
System.Web.UI.Adapters.ControlAdapter
{
protected override void Render(HtmlTextWriter writer)
{
base.Render(new RewriteFormHtmlTextWriter(writer));
}
}
public class RewriteFormHtmlTextWriter : HtmlTextWriter
{
public RewriteFormHtmlTextWriter(HtmlTextWriter writer)
: base(writer)
{
this.InnerWriter = writer.InnerWriter;
}
public RewriteFormHtmlTextWriter(TextWriter writer)
: base(writer)
{
this.InnerWriter = writer;
}
public override void WriteAttribute(string name, string value, bool fEncode)
{
if (name == "action")
{
HttpContext context = HttpContext.Current;
if (context.Items["ActionAlreadyWritten"] == null)
{
value = context.Request.RawUrl;
context.Items["ActionAlreadyWritten"] = true;
}
}
base.WriteAttribute(name, value, fEncode);
}
}
- 在项目的App_Browsers文件下新建一个Form.browser文件,内容如下
<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.HtmlControls.HtmlForm"
adapterType="FormRewriterControlAdapter" />
</controlAdapters>
</browser>
</browsers>
- FormRewriterControlAdapter类的作用是从写ASP.NET页面中默认Form的Action属性,使他变得和UrlRewrite后的的Url一致。而Form.browser则起到了告诉ASP.NET在生成Form的HTML代码的时候,需要执行相应的操作。
by RexLin
2010.1.7 17:32
HTML页面(FileUpload.html)代码 ,注意
enctype="multipart/form-data"否则无法上传。
<form method="post" action="FileUpload.aspx" enctype="multipart/form-data" >
<input name="postfile" id="postfile" type="file" />
<input type="submit" value="上传" />
</form>
ASP.NET页面(FileUpload.aspx)代码
protected void Page_Load(object sender, EventArgs e)
{
HttpPostedFile postFile = Request.Files["postfile"];
if (postFile != null)
{
string fileName = System.IO.Path.GetFileName(postFile.FileName);
if (fileName != "")
{
string filePath = "~/Upload/" + System.DateTime.Now.Ticks.ToString();
string fileExtension = System.IO.Path.GetExtension(fileName).ToLower();
postFile.SaveAs(Server.MapPath(filePath + "." + fileExtension));
Response.Write("上传成功!");
}
}
}
by RexLin
2010.1.7 10:34
这一系列是
博客园著名的
老赵写的关于URL rewrite的文章。
附带MSDN上的一片文章:
在 ASP.NET 中执行 URL 重写