蝈蝈俊.net

CSDN 下一代技术社区开发、管理日志

郭红俊ID:ghj1976
837473次访问,排名35好友44人,关注者113
蝈蝈俊.net
ghj1976的文章
原创 737 篇
翻译 2 篇
转载 3 篇
评论 803 篇
ghj1976的公告
这里发表CSDN 下一代技术社区相关开发管理内容。 我的个人技术Blog 在博客堂
最近评论
ASP_lover:



www.soAsp.net 编程学习网 技术+ 实例应用 讲解不错。 推荐大家!

有很多 技术资料也很好!













abelfly:做网站这个行业,不是会计算机技术就能混下去的。这个行业利润低,工作繁重,学习的新技术很多。没有并不是经验越多就越赚钱。我决定放弃在这个行业混。我一定要找一个只要努力,就能不断积累经验,并且职称能不断上涨的行业。就计算机而言,我就业更偏向与国企或研究所。
#:脾脏
#:LZ.水平不行,毛病还不少.
#:LZ.水平不行,毛病还不少.
文章分类
收藏
    相册
    2004年11月文章用户
    2004年8月文章用图
    2004年9月文章用图
    2005年12月文章用图
    2005年6月文章用图
    CSDN 书签
    CSDN社区组同事的Blog
    OCAN
    wuxilin(RSS)
    我的msn的Blog
    我的技术Blog(RSS)
    我的收集资料的Blog(RSS)
    自己在CSDN马甲的Blog(RSS)
    朋友的Blog
    客齐集播客
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes
    2008年07月23日

    原创 ASP.net 页面被关闭后,服务器端是否仍然执行中?收藏

    问题:当一个正在执行中的ASPX页面执行到一半的时候,浏览器中你关闭了这个页面,服务器端对应的这个页面的代码仍然在执行么? 答案:除非你代码里面做了特殊判断,否则仍然正在执行。   注意点: 1、客户端显示页面的时候,后台已经执行完了的页面对象早已经不存在了。当然这时候谈不上服务器段执行不执行的问题了。 2、页面还没有返回,处于等待状态的时候。关闭ASPX页面,才会涉及到上面提到的服务器端仍然在执行的情况。 3、客户端关闭的时候根本不向服务器发送指令。 4、除非你代码里面做了特殊判断,这里的特殊判断指用 if(!Response.IsClientConnected) 来检测状态而用代码终止运行。 下面的简单代码就是演示关闭页面后,看是否仍然在执行? 你可以在这个页面打开后, 还没有返回任何信息的时候把这个页面关闭,然后看指定目录下是否有对应文件被创建并填写内容。 protected void Page_Load(object sender, EventArgs e) { StringBuilder阅读全文>

    发表于 @ 2008年07月23日 15:45:00|评论(loading...)|编辑|收藏

    2008年07月22日

    原创 写给刚工作的网站技术人员收藏

           工作九年了,网站相关的开发工作也干了八年多。负责带领团队也好几年了。面试和带领刚工作的人也不少了。其中的优秀者不少,但是大多数都存在下面提到的几个认识误区。把这些问题提出来,希望对刚参加工作没有多久的程序员们有所帮助,少走弯路。         公司招你进来,其实最重要的就是看到你的工作能力和工作态度是可以接受的。             工作能力指你能满足他们的工作期望,或者在可接受的时间范围内,经过培训后,可以满足这个工作期望。       &am阅读全文>

    发表于 @ 2008年07月22日 15:11:00|评论(loading...)|编辑|收藏

    2008年06月25日

    原创 UTF-8 BOM导致的无法正常模拟Http请求收藏

    本文概述 StreamWriter 在产生UTF-8编码的内容时候,会在产生的这个UTF-8内容中增加BOM的信息,而这个BOM的信息,会干扰我们在一些情况的使用。 本文描述的情况,就是这种干扰让我们无法正常工作的一种情况。   何为BOM? BOM(Byte Order Mark),BOM签名。 BOM的内容就可以表示unicode文件是何种编码。BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别。 对于UTF-8 , BOM 信息为 EF BB BF。 我们如果在Google搜索 UTF-8 BOM 就会搜索到很多文章, BOM 在不少情况下,都会给我们添乱子。   下面是我碰到这个问题的描述 我碰到这个问题的场景:在书写一段模拟HTTP Post 请求的时候, 代码如下,但是却无法模拟Post请求: private void do2() { string url = "http://localhost:39749/Default.aspx"; str阅读全文>

    发表于 @ 2008年06月25日 14:27:00|评论(loading...)|编辑|收藏

    2008年06月06日

    原创 WEB Service 传递信息时候,会把 /r/n 变成 /n收藏

    我们在使用WEB Service时,需要注意的一点是,传递过程中会丢失一些字符,比较典型的是 /r/n 中 /r 回车字符会被丢弃。这是XML规范所导致的问题。XML规范关于这部分的描述如下: 2.11 行尾处理 为编辑的方便起见,存储XML已析实体的计算机文件经常用行来组织。通常这些行用回车符(#xD)和换行符(#xA)的一些组合来分隔。 为了使应用的工作简单化,对于一个外部已析实体或内部已析实体的常量实体值中包含的任何两字符常量序列"#xD#xA"或单独的常量#xD,XML处理器都应换成#xA传递给应用。(这可以通过在进行语法分析前将所有行分隔符规范成#xA而方便地实现。) \r   回车(跑到最前面)   \n  换行(下一行)   参考资料: WebServices eat \r in \r\n http://vidmar.net/weblog/archive/2005/04/03/1203.aspx XML规范对此相关的解释 http:阅读全文>

    发表于 @ 2008年06月06日 17:31:00|评论(loading...)|编辑|收藏

    2008年05月07日

    原创 动态封杀与解封IP收藏

    我们在应对网站的恶意请求时候,一个解决方法就是把有问题的请求IP封杀掉。 如果想快速处理这种问题,就需要编写一段代码,达到一定门槛,自动封杀。再复杂点就是不是永久封杀,还可以自动在一定时间后解封。 封杀的逻辑代码看后面提供的。 需要说明的是:IIS7时,情况发生了不同。   下面的代码,在处理封杀IP时候,不论IIS6还是IIS7 都可以把需要封杀的IP加入封杀列表。但是需要注意的是我们代码写的是全部替换原先的数据。但是在IIS7下,执行的效果是原先的不替换,新加一批封杀IP。当然IIS7下,如果新加的IP原来就有了,则会报如下异常: System.Runtime.InteropServices.COMException was caught  Message="当文件已存在时,无法创建该文件。 (异常来自 HRESULT:0x800700B7)"  Source="System.DirectoryServices"  ErrorCode=-2147024713  StackTrace:    &阅读全文>

    发表于 @ 2008年05月07日 10:34:00|评论(loading...)|编辑|收藏

    2008年05月04日

    原创 每个分类取最新的几条的SQL实现收藏

    分类统计时候,我们可能经常会碰到这样的需求,每个分类按照一定顺序,取几条数据,然后在一起显示。 这个问题的解决方法,我们通过搜索引擎,可以找到很多中。但是不是SQL语句过于复杂,就是在数据量比较大时候,性能特别成问题。 今天我就碰到这样一个需求。而我自己的解决方案就是SQL过于复杂,或者性能比较差的。为此我在CSDN论坛发了个帖子,看有没有更好的解决方案。 http://topic.csdn.net/u/20080504/14/5c5866c3-8b91-45ef-ab17-f994f88f8e42.html CSDN的 SQL Server 板块  不愧是高手云集,问题发出不到半小时,就获得了近10种解决方案。经过测试,我把性能最高,且SQL不复杂的方案整理出来。特别感谢 jinjazz 的解答。   问题详细描述如下: 比如,假设我们有下面这样结构的一张表,这张表的数据量非常巨大。CREATE TABLE table1( [ID] [bigint] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](128) NOT阅读全文>

    发表于 @ 2008年05月04日 15:25:00|评论(loading...)|编辑|收藏

    2008年04月24日

    原创 【编程游戏】划拳机器人比赛收藏

    CSDN 网友 zswang 组织了一个编程游戏比赛。划拳机器人比赛。类似“Robocode” 的游戏。 比赛相关帖子如下: 【编程游戏】编写一个会划拳的机器人参加擂台赛,规则内详。http://topic.csdn.net/u/20080421/17/6a4d1c20-e1d1-4e9d-99ae-d648cb422ca6.html 【编程游戏】划拳机器人,前面一贴的机器人都集中来了,继续PK。谨慎路过。  http://topic.csdn.net/u/20080423/21/cda52758-a06d-49e1-9db0-eda2b009da8c.html 很有意思的,为了让更多人能参与到这个很有趣的 .NET 编程比赛中来,我转了下面的内容:   划拳介绍       划拳又叫豁拳、猜枚、猜拳、拇战,即饮酒时两人同时伸出手指并各说一个数,谁说的数目跟双方所伸手指的总数相符,谁就算赢,输的人喝酒。此乃我国 古传至今仍时尚流行的饮酒游戏,它增添酒兴,烘托喜庆,是一种民间的酒令。 其技巧性颇强,给玩者留有神机斗智阅读全文>

    发表于 @ 2008年04月24日 10:20:00|评论(loading...)|编辑|收藏

    2008年04月18日

    原创 如何用.net Remoting实现一个客户端需要连接多个服务器端?收藏

    比如我们有下面的需求: 三台电脑:A,B,C。我们在 B 和 C 上部署了同样的一个服务,电脑 A 需要根据客户端的选择,自动的切换到底是调用B的服务,还是C的服务。 要实现这个需求,核心就在客户端的调用上。下面我们用一个简单的演示这个功能的代码来说明如何实现。   首先:服务器段 服务器段逻辑,这是非常简单的,我们按照之前的.net编写规范,编写代码即可。熟悉.net Remoting 的完全可以跳过这部分。 下面是一段简单的服务器段逻辑代码using System;using System.Collections.Generic;using System.Text;using System.Net;namespace MyServiceComponent{ public class MyComponent : MarshalByRefObject { public string GetString(short s) { // 返回信息中包含服务器IP,这样我们就知道客户端调用的是哪个服务器 阅读全文>

    发表于 @ 2008年04月18日 15:54:00|评论(loading...)|编辑|收藏

    2008年04月10日

    原创 今天碰到了一个我非常佩服的售票员收藏

    我坐公交车的历史,已经有10多年了。今天早上坐852上班的路上,碰到了一个我非常佩服的售票员。佩服她的原因是因为这趟车上,我正好看到2件事情。而她对这两件事情的处理,让我非常有感触,非常有心得。   第一件事情是在望京时,有个乘客下车时,这个售票员走到一个乘客跟前,小声地跟他说了一些话。当时我还觉得很怪异。虽然我就离那个乘客不到2米的地方。但是我只能断断续续的听到几个词。并不明白在说啥。那个乘客下车后,另外一个售票员也觉得很怪异,问她时,她才说那个乘客拿的是学生卡。 那个乘客看起来,老大不小了。估计三、四十了。看起来一点也不可能是学生。按照北京市的规定,发现非学生使用学生卡,卡当时没收,同时罚款不知道多少。违法使用学生卡的事情,我在其他公交车上也看到,但是这个售票员能用这种方式来解决,我是第一次看到。以前最多看到的是:大声地指责,没收卡,或者根本就当这件事情没有发生。 从跟人沟通的角度来看这个问题:争吵,或者视若不见。都不能帮人解决问题。跟他心平气和的沟通。同时一定不要在公众场合批评他,不能让他觉得自己在被公审。这才是督促他解决问题得最好沟通方式。 反面的教材就多了,比如之前阅读全文>

    发表于 @ 2008年04月10日 08:50:00|评论(loading...)|编辑|收藏

    2008年04月09日

    原创 Vista和Win2008中如何卸载IE8收藏

    由于我之前装的英文版本的IE8,现在想换成中文版本的, 所以就需要写在原先的IE8 Beta1 英文版,但是按照正常的思路去找卸载的地方,竟然没有找到。考虑到很多人可能会有我类似的问题。特意写了这篇博客帮助大家。 卸载的位置: 控制面板 --> 程序和功能 --> 查看已安装的更新(注意,是在这里) MIcrosoft Windows 分类下面有一个 Windows Internet Explorer 8 ,卸载它即可。IE8 是以更新的方式安装的,而不是一个普通的程序。这点是要需要注意的。 另外,英文版本的IE8 ,版本号是:8.0.6001.17184。 中文版版本是:8.0.6001.17193 。比英文版稍稍新一点。阅读全文>

    发表于 @ 2008年04月09日 09:42:00|评论(loading...)|编辑|收藏

    2008年03月26日

    原创 Windows 2008安装体验收藏

    这几天,我家宝宝一直赖在老妈肚子里面,不出来。害得我每天上班都提心吊胆的,也没有工作热情。就等着宝宝出生,可是他就是赖着不出来。 于是,就把公司电脑重装成了中文版的Win2008。 安装一些软件过程中碰到了不少问题,特意整理成这篇博客,让后来着少走弯路。   一、显卡驱动的问题 我电脑的显卡是:NVIDIA GeForce 6200 TurboCache。 GeForce 系列的显卡,在Window2008 下,最新的驱动反而不能用。 安装了最新的驱动后,你的显示器就会黑屏,没有任何治了。最新版本的 169.32,虽然说通过了Vista 的WHQL认证,还是直接黑屏。更不要说其他版本的了。 网上也有其他型号的 GeForce 也碰到了这个问题。我碰到这个问题后,反复试验了多个版本的驱动,一直不行。最后在使用下面版本的驱动后,才搞定。下面版本的是32位操作系统的驱动。 http://www.nvidia.com/object/winvista_x86_96.85.html   网上也有人碰到类似问题,不过他的显卡是:NVIDIA QUADRO NVS 280(PCI阅读全文>

    发表于 @ 2008年03月26日 18:03:00|评论(loading...)|编辑|收藏

    2008年03月12日

    原创 InternalServerError时 HttpWebRequest 的 GetResponse 方法处理策略收藏

    现象 我们编码实现请求一个页面时,请求的代码类似如下代码:HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl);req.UserAgent = "MSIE6.0";req.Method = "GET";HttpWebResponse res = (HttpWebResponse)req.GetResponse();StreamReader sr = new StreamReader(res.GetResponseStream(), strEncode);strHtml = sr.ReadToEnd();sr.Close();res.Close(); 但是,如果我们请求的这个页面正好是一个有异常发生的页面,或者不存在的页面。我们上面的代码就会在req.GetResponse();这里抛出异常:远程服务器返回错误: (500) 内部服务器错误。 我们通过上面的代码,是不能得到错误发生时候的页面源代码的。   分析原因: (HttpWebResponse)req.GetResponse(); 阅读全文>

    发表于 @ 2008年03月12日 14:34:00|评论(loading...)|编辑|收藏

    2008年03月05日

    原创 使用 StackTrace 获得更多跟 Exception 有关的信息收藏

    不知你有没有留意过ASP.net的异常,如下图: 请留意图中用红笔标的地方。那些数字标明出错处位于源代码文件的多少行。 但是,我们通过 Exception.StackTrace 是获得不了这个信息的。这个信息是如何获得呢?这就要用到下面两个类: System.Diagnostics.StackTrace 表示一个堆栈跟踪,它是一个或多个堆栈帧的有序集合。 System.Diagnostics.StackFrame 表示当前线程的调用堆栈中的一个函数调用 下面的代码就替我们扑捉了更多关于异常的信息: public static string EnhancedStackTrace(Exception ex) { return EnhancedStackTrace(new StackTrace(ex, true)); } public static string EnhancedStackTrace(StackTrace st) { StringBuilder sb =阅读全文>

    发表于 @ 2008年03月05日 10:16:00|评论(loading...)|编辑|收藏

    2008年02月21日

    原创 其实编码使用代理服务器的门槛非常低收藏

           前面我写的“ASP.net 获得客户端的IP相关知识”博客中,有一个简单的例子,演示了如何客户端编码,修改 HTTP_VIA 和HTTP_X_FORWARDED_FOR ,进而让服务器无法了解你到底是否启用的代理服务器,以及启用的是代理服务器之后的你的真实IP地址。 结合上面的技术,编码使用代理服务器,其实是非常简单的。下面就是客户段的演示代码。比起上篇博客,只修改了几行。        下面演示代码中的代理服务器地址,可能在你试验的时候,已经不通了,请更换新的代理服务器地址。 class Program { static void Main(string[] args) { // 最新代理服务器的地址,可以参看下面的列表 // http://www.proxycn.com/html_proxy/http-1.html proxyTest("ht阅读全文>

    发表于 @ 2008年02月21日 14:52:00|评论(loading...)|编辑|收藏

    原创 那些HTTP头会被增加HTTP_前缀收藏

           上一篇博客:ASP.net 获得客户端的IP相关知识 中我提到了,如果你想编码更改 HTTP_VIA、HTTP_X_FORWARDED_FOR 的值,你需要客户端增加的HTTP Head为:VIA、X_FORWARDED_FOR。即,少个 "HTTP_" 前缀。那么,到底读取这些值时,那些HTTP头增加时候需要增加HTTP_前缀,那些又不需要呢?         简单来说,出了一些系统预先定义的,有特殊意义的HTTP头外,其他都需要增加 "HTTP_" 前缀。这是W3C 的 The Common Gateway Interface (CGI) 规范的定义。这些预定义的变量如下: 变量 说明 APPL_MD_PATH 检索 ISAPI DLL 的 (WAM) Application 的元数据库路径。 APPL_PHYSICAL_PATH 检索与元数据库路径相应的物理路径。IIS 通过将 APPL_MD_PATH 转换为物理(目录)路阅读全文>

    发表于 @ 2008年02月21日 14:31:00|评论(loading...)|编辑|收藏

    Csdn Blog version 3.1a
    Copyright © ghj1976