Archive for July 2007

最近项目中产生一个需求,需要对一个site下的每个aspx和其对应的cs文件封装进一个dll中,并且在web.config文件中通过配置httphandlers来实现访问。

查了半天资料,只找到了一篇还是讲.net 1.1的。照着方法做了以后,发现很多地方不合适,琢磨了半天,终于给我搞定。

以下是详细过程:

  1. 打开Visual Studio 2005,New一个Website Project
  2. 默认会创建一个Default页面,并且是没有namespace的,为了方便,添加namespace为Test,类名为Default,并且在页面上拖一个按钮,双击添加事件。处理完毕后,可见代码分别如下
    [Default.aspx.cs]
    [Default.aspx]
    编译这个项目,确保成功,并且会在项目目录中添加一个Web.config文件。
  3. 在Default.aspx.cs页面添加几个乱字符,随便什么地方。这样做的目的是为了不让系统编译成功。
  4. 用之前访问Default.aspx页面的url访问该页面,会出现编译错误提醒页面。点击其中的[显示完整的编译源]链接,会显示编译错误的编译代码,可以注意到,aspx页面已经被某个没被公开的工具解析成了一段代码。[Code.cs]
    复制这些代码到任意的支持正则表达式匹配的文本编辑器,替换掉所有的行号,#line default和#line hidden这样的编译器标识。删除顶部的checksum信息。删除所有的以#line开头的行。并且删除多余的空行。
  5. 注意到代码分成了两个部分,上半部分是Default class的部分类。下一部分是ASP.default_aspx class的内容,其实是Default.aspx解析了以后的结果。做如下处理:copy上半部分的分布类代码和Default.aspx.cs文件中的所有代码到一个文件中,比如:Default.cs,并且删除刚才添加的为了让编译器编译出错的那些代码。下半部分的代码也保存到另外一个部分的文件中,比如Default_Aspx.cs.处理后代码如下:
    [Default.cs]
    [Default_Aspx.cs]
     屏蔽掉Default_Aspx.cs文件的以下几行
    //private static bool @__initialized;
    //private static object @__fileDependencies;
    //string[] dependencies;
    //if ((global::ASP.default_aspx.@__initialized == false))
    //{
     //dependencies = new string[2];
     //dependencies[0] = “~/Default.aspx”;
     //dependencies[1] = “~/Default.aspx.cs”;
     //global::ASP.default_aspx.@__fileDependencies = this.GetWrappedFileDependencies(dependencies);
     //global::ASP.default_aspx.@__initialized = true;
    //}
    //this.AddWrappedFileDependencies(global::ASP.default_aspx.@__fileDependencies);
    [这几行是用来检查页面依赖是否有被改动过。]
  6. 删除掉website中的Default.aspx页面和Default.aspx.cs文件,并且添加App_Code文件夹,将刚才保存的两个文件添加到该Website Project的该文件夹中,并且在Web.config文件中添加如下映射 
       <httpHandlers>
          <add verb=”*” path=”Default.aspx” type=”ASP.default_aspx”/>
        </httpHandlers>,
    访问Default.aspx页面。就可以跳入刚才添加的两个文件进行调试。
  7. 如果想编译成dll的话,先用csc build Default.cs 为default.dll,再引入这个dll build Default_Aspx.cs。然后引用进这个项目就可以了。当然还是要删除App_Code文件夹下面的两个文件,否则会出现同名问题。 

Over。

PS,在处理有图像的页面时,需要将相对路径转化成绝对路径,否则会有意想不到的事情发生。正在研究中。

PS,感谢浙江省绍兴市解放北路148号交通大厦六楼 周杰忻以及这篇参考

Jul 26

Paprika

No comment - Post a comment

翻着白眼的洋娃娃
吹着喇叭的烂青蛙
摇摇摆摆的死肥招财猫
穿了比基尼的自由女神
全部上街游行了!
这会是一个有趣的梦吗?

前一段时间看的一片,今敏描写心理确实很不错的。推荐一看,详细介绍点击图片。

PS:神经正常的人不要看,以免精神错乱。

Jul 22

没想法

2 comments - Post a comment

最近每天都加班到九点以后,没空想东西。

权当我死了吧。

Jul 20

CNNIC

2 comments - Post a comment

上午接到一个陌生电话。

“你好,我们是国家互联网信息服务中心的,您听说过么?”

“听说过,是那个CNNIC么?”

“是的,我们有一款业务叫中文域名,您听说过么?”

“厄,有听说过。”

“我给您简单介绍一下吧,就是在浏览器地址里面输入中文……”

“这个我知道的。你有什么事情么?”

“是这样的,昨天下午我们处理订单的时候,发现有人申请了你们公司的中文实名:”XX计算机”,我们认为你们对于这个词条有优先权,所以想问一下是不是需要保护?”

“保护?怎么保护?”

“就是我们帮你把这个词条封存起来一定时间,等到你们公司来注册这个词条。你们有这个需要么?”

“不好意思,我们对这块不是很在意,让他抢注去吧。麻烦您操心,谢谢啦。”

————-

靠,CNNIC推销都是用欺骗的么?这个做流氓软件,雇骗子业务员的公司。

Jul 19

上火

3 comments - Post a comment

嗓子疼,鼻子也疼,上火了。买了枸杞和菊花一起泡,还有许多的清****,希望快些好。

这些天有太多的事情让我烦,为什么好好的大家,要变成这个样子。我一直不想动用我除了做程序员那部分大脑以外的思维,因为我懒,还有就是,一旦开始对我不愿意去深想的领域去穷追,就会发现很多阴暗面。消极,而且极具鼓动性。

我以为挽狂澜于即倒是一种很值得做的事情,也许却忘了让狂澜狂一把,对大家都有好处。我以为努力做好自己的事情是种美德,可惜我更是忽略了,也许别人看的不是你的过程和结果。我以为做人要厚道并且坚持之是如何的应该坚持,谁曾想道德这种东西都是强势忽悠弱势用的托辞。

被看轻,被骂,被威胁,没关系,三秒以后,心情都会好起来,我还有一堆事情要做。但是发生过的事情不可能像程序一样rollback,总有一些东西要留下。本来以为要坚持到年底,就算发生了这么多,我以为我能把所有的事情都摆平,可是三十分钟之内,就做了另外的决定。怎么样都以,我讨厌被蒙蔽,并且,还有这样的一些事情。

月底是deadline,擦干净屁股,准备闪人。我正在寻找一个改变的契机。

Jul 17

有些乱

3 comments - Post a comment

  1. 永远不要做两件事情:挡人财路,误人前途。
  2. 每个人都要为自己的行为负责。
  3. 尊重别人就是尊重你自己。
  4. 当你处于弱势的时候,遭遇不公跳出来叫是最不可取的,而且于事无补,如果你不爽,那么就用脚投票,否则就忍受。
  5. 做事情要循序渐进,谁都别想一下手就能改变这世界。
  6. 刚愎自用和自以为是是很多人的通病,这通病让人很讨厌。
  7. 你认为别人做某些决定很stupid,那是因为你们有不同的价值观。
  8. 不要为自己的行为造成的后果做任何解释。
  9. 如果你很生气,别想着去报复那些让你生气的人,不理会他们,全当他们不存在,然后,做你自己的事情。
  10. 出来混,迟早要还的。
Jul 16

泰州之行

1 comment - Post a comment

叫了很久,终于去了。

范大大的婚礼没赶上,很遗憾。最近这些年,时间很少是自己的。

三个小时的汽车,睡了一半,和路上一小朋友忽悠了另外一半。刘超感慨说以后自己有了Baby一定不会让我踏进他们家半步,我想这事情估计是防不住。除了家还有学校呢?刘叔叔我会堵着幼儿园的门口,防不胜防啊。

下午四点多赶到,范同学吸着拖鞋出来接,新房和车站很近。是一个新小区,不小。一栋六层小楼第二层,刚装修完毕。范同学说估计大家都没想到是他先结婚,我笑说那是,大家都以为你是最后一个。这确实有些快。我最近也一直有发现,原来传统的力量是如此的巨大并且坚不可摧。一旦被它发现,躲掉几乎是不可能的。不过这也不代表着好或者不好,起码最近我都在想着要不要回信阳去找个安稳的工作过上一辈子。新娘很少说话,也许是大家不熟悉,我估计和范同学在一起,一天内不会说话超过十句。比较起来同去的小马嫂,简直是……没法比啊。第二天上午范同学和其MM在厨房忙碌着做早饭,俩人在那里晃来晃去,原来都不怎么做饭的。唔,大家都一样。

这里饭店挺多,好在江苏的菜吃起来口味很好,比上海那是强的海了去了。泰州发展应该是不错的,虽然一开始都没怎么听说过这地方。春兰集团生产基地在这里,LG冰箱生产基地,梅兰芳的故居,还有一个当政的大人物的故居。路很宽,不少上档次的好车跑来跑去,不过和大部分城市一样,缺少规矩,交通比较乱。

出去走就已经是晚上,第二天又睡到中午,因为晚上要加班,下午就回上海了。可以算是匆匆来匆匆去。大家说等年底吧,你们家Baby出世了,我一定过去好好的忽悠忽悠。

余秋雨

千年走一回,
山高水又长,
车轮滚滚尘飞扬,
祖先托我来拜访.
我是昆仑的云,
我是黄河的浪,
我是涅磐的凤凰再飞翔.

法老的陵墓,
巴比仑的墙,
希腊海滨夜潮起,
耶路撒冷秋风凉。
我是废虚的泪,
我是隔代的伤,
恒河边的梵钟在何方?

千年走一回,
山高水又长。
东方有人长相忆,
祖先托我来拜访。
我是屈原的梦,
我是李白的唱,
我是涅磐的凤凰再飞翔。

最近脑子里面总是会想起这首,为啥呢?

Jul 15

上篇丢了

3 comments - Post a comment

上篇丢了,清理数据库的时候不小心误删了,MySql好像不支持日志回滚,所以暂时也找不回来了。

只有把几个Comments Add到这篇上了。

唉,最近咋老干CUO事?

Jul 13

不想睡

5 comments - Post a comment

又加班到两点,最近一直这样。

很奇怪我的精力为什么一直会这么好,越熬越清醒,难道真的是夜猫子?

和以前的状态已经有了一些微妙的变化,以前是从上午忙到下午,忽然发现下班了。然后回去了还要想半天工作上的事情。现在却是在公司忙的昏天黑地,出了那个大门,什么都不愿意去想了。这样好一些还是那样好一些?天知道。

就算睡的再晚,早上八点半,准时的醒来,再也没了睡意,就像上了发条。不喜欢赖床,所以对着电脑发呆。真的是很浪费时间。

偶尔我会想,是不是需要再去读书呢?研究生什么的。知识不够用啊,看问题太浅薄啦。可是又担心出了社会过几年又跟不上来了。偶尔又会想,一个人好无聊啊,要不要找个MM呢?女朋友那种。回头再想想还是算了,又是害怕跟上回一样害了别人。偶尔还是会想,要不就回家去吧,找个学校教书也不错的,每天平平淡淡,日志都像过眼云烟。转而继续否定这想法。我是如此的矛盾,却又如此的执着。

Blog换新的了,花了三个小时,文字全导过来。只是还有一些小瑕疵,要慢慢调整。那些大家留下的评论,稍晚些时候同步过来。我本来打算叫八卦男的八卦生活,后来想还是算了,万一哪天我变性成女的了,叫八卦男就不合适了对吧。你就凑合着看吧。

旧的系统还在的,只是不在同一个虚拟主机上了,地址是http://old.leiz.name,也还是可以看到的。

现在是凌晨四点二十,去睡了。安。