<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>蝈蝈俊.net</title><link /><description>CSDN 下一代技术社区开发、管理日志</description><dc:language>zh-CN</dc:language><lastUpdateTime>Wed, 25 Jun 2008 14:27:07 GMT</lastUpdateTime><ttl>60</ttl><item><dc:creator>ghj1976</dc:creator><title>UTF-8 BOM导致的无法正常模拟Http请求</title><link>http://blog.csdn.net/ghj1976/archive/2008/06/25/2585475.aspx</link><pubDate>Wed, 25 Jun 2008 14:27:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/06/25/2585475.aspx</guid><wfw:comment>comments/2585475.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/06/25/2585475.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2585475.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2585475</trackback:ping><description>本文概述  StreamWriter 在产生UTF-8编码的内容时候，会在产生的这个UTF-8内容中增加BOM的信息，而这个BOM的信息，会干扰我们在一些情况的使用。    本文描述的情况，就是这种干扰让我们无法正常工作的一种情况。  &amp;#160;  何为BOM？  BOM(Byte Order Mark)，BOM签名。    BOM的内容就可以表示unicode文件是何种编码。BOM签名的意思就是告诉编辑器当前文件采用何种编码，方便编辑器识别。  对于UTF-8 ， BOM 信息为 EF BB BF。 我们如果在Google搜索 UTF-8 BOM 就会搜索到很多文章， BOM 在不少情况下，都会给我们添乱子。  &amp;#160;  下面是我碰到这个问题的描述  我碰到这个问题的场景:在书写一段模拟HTTP Post 请求的时候， 代码如下，但是却无法模拟Post请求：  private void do2()
 {
     string url = &amp;quot;http://localhost:39749/Default.aspx&amp;quot;;
     

     str&lt;img src ="aggbug/2585475.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>WEB Service 传递信息时候,会把 /r/n 变成 /n</title><link>http://blog.csdn.net/ghj1976/archive/2008/06/06/2517544.aspx</link><pubDate>Fri, 06 Jun 2008 17:31:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/06/06/2517544.aspx</guid><wfw:comment>comments/2517544.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/06/06/2517544.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2517544.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2517544</trackback:ping><description>我们在使用WEB Service时，需要注意的一点是，传递过程中会丢失一些字符，比较典型的是 /r/n 中 /r 回车字符会被丢弃。这是XML规范所导致的问题。XML规范关于这部分的描述如下：  2.11 行尾处理    为编辑的方便起见，存储XML已析实体的计算机文件经常用行来组织。通常这些行用回车符(#xD)和换行符(#xA)的一些组合来分隔。   为了使应用的工作简单化，对于一个外部已析实体或内部已析实体的常量实体值中包含的任何两字符常量序列&amp;quot;#xD#xA&amp;quot;或单独的常量#xD，XML处理器都应换成#xA传递给应用。(这可以通过在进行语法分析前将所有行分隔符规范成#xA而方便地实现。)   \r&amp;#160;&amp;#160; 回车(跑到最前面)&amp;#160;&amp;#160; \n&amp;#160; 换行(下一行)&amp;#160;&amp;#160;   参考资料：  WebServices eat \r in \r\n    http://vidmar.net/weblog/archive/2005/04/03/1203.aspx         XML规范对此相关的解释     http:&lt;img src ="aggbug/2517544.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>动态封杀与解封IP</title><link>http://blog.csdn.net/ghj1976/archive/2008/05/07/2407995.aspx</link><pubDate>Wed, 07 May 2008 10:34:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/05/07/2407995.aspx</guid><wfw:comment>comments/2407995.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/05/07/2407995.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2407995.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2407995</trackback:ping><description>我们在应对网站的恶意请求时候，一个解决方法就是把有问题的请求IP封杀掉。 如果想快速处理这种问题，就需要编写一段代码，达到一定门槛，自动封杀。再复杂点就是不是永久封杀，还可以自动在一定时间后解封。 封杀的逻辑代码看后面提供的。 需要说明的是：IIS7时，情况发生了不同。 &amp;nbsp; 下面的代码，在处理封杀IP时候，不论IIS6还是IIS7 都可以把需要封杀的IP加入封杀列表。但是需要注意的是我们代码写的是全部替换原先的数据。但是在IIS7下，执行的效果是原先的不替换，新加一批封杀IP。当然IIS7下，如果新加的IP原来就有了，则会报如下异常： System.Runtime.InteropServices.COMException was caught&amp;nbsp; Message="当文件已存在时，无法创建该文件。 (异常来自 HRESULT:0x800700B7)"&amp;nbsp; Source="System.DirectoryServices"&amp;nbsp; ErrorCode=-2147024713&amp;nbsp; StackTrace:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;&lt;img src ="aggbug/2407995.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>每个分类取最新的几条的SQL实现</title><link>http://blog.csdn.net/ghj1976/archive/2008/05/04/2382770.aspx</link><pubDate>Sun, 04 May 2008 15:25:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/05/04/2382770.aspx</guid><wfw:comment>comments/2382770.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/05/04/2382770.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2382770.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2382770</trackback:ping><description> 分类统计时候，我们可能经常会碰到这样的需求，每个分类按照一定顺序，取几条数据，然后在一起显示。 这个问题的解决方法，我们通过搜索引擎，可以找到很多中。但是不是SQL语句过于复杂，就是在数据量比较大时候，性能特别成问题。 今天我就碰到这样一个需求。而我自己的解决方案就是SQL过于复杂，或者性能比较差的。为此我在CSDN论坛发了个帖子，看有没有更好的解决方案。 http://topic.csdn.net/u/20080504/14/5c5866c3-8b91-45ef-ab17-f994f88f8e42.html CSDN的 SQL Server 板块&amp;nbsp; 不愧是高手云集，问题发出不到半小时，就获得了近10种解决方案。经过测试，我把性能最高，且SQL不复杂的方案整理出来。特别感谢 jinjazz 的解答。 &amp;nbsp; 问题详细描述如下： 比如，假设我们有下面这样结构的一张表，这张表的数据量非常巨大。CREATE TABLE table1(    [ID] [bigint] IDENTITY(1,1) NOT NULL,    [Name] [nvarchar](128) NOT&lt;img src ="aggbug/2382770.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>【编程游戏】划拳机器人比赛</title><link>http://blog.csdn.net/ghj1976/archive/2008/04/24/2321689.aspx</link><pubDate>Thu, 24 Apr 2008 10:20:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/04/24/2321689.aspx</guid><wfw:comment>comments/2321689.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/04/24/2321689.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2321689.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2321689</trackback:ping><description>CSDN 网友 zswang 组织了一个编程游戏比赛。划拳机器人比赛。类似“Robocode” 的游戏。  比赛相关帖子如下： 【编程游戏】编写一个会划拳的机器人参加擂台赛，规则内详。http://topic.csdn.net/u/20080421/17/6a4d1c20-e1d1-4e9d-99ae-d648cb422ca6.html 【编程游戏】划拳机器人，前面一贴的机器人都集中来了，继续PK。谨慎路过。&amp;nbsp; http://topic.csdn.net/u/20080423/21/cda52758-a06d-49e1-9db0-eda2b009da8c.html 很有意思的，为了让更多人能参与到这个很有趣的 .NET 编程比赛中来，我转了下面的内容： &amp;nbsp; 划拳介绍 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 划拳又叫豁拳、猜枚、猜拳、拇战，即饮酒时两人同时伸出手指并各说一个数，谁说的数目跟双方所伸手指的总数相符，谁就算赢，输的人喝酒。此乃我国 古传至今仍时尚流行的饮酒游戏，它增添酒兴，烘托喜庆，是一种民间的酒令。 其技巧性颇强，给玩者留有神机斗智&lt;img src ="aggbug/2321689.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>如何用.net Remoting实现一个客户端需要连接多个服务器端？</title><link>http://blog.csdn.net/ghj1976/archive/2008/04/18/2304720.aspx</link><pubDate>Fri, 18 Apr 2008 15:54:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/04/18/2304720.aspx</guid><wfw:comment>comments/2304720.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/04/18/2304720.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2304720.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2304720</trackback:ping><description> 比如我们有下面的需求: 三台电脑:A,B,C。我们在 B 和 C 上部署了同样的一个服务，电脑 A 需要根据客户端的选择，自动的切换到底是调用B的服务，还是C的服务。 要实现这个需求，核心就在客户端的调用上。下面我们用一个简单的演示这个功能的代码来说明如何实现。 &amp;nbsp; 首先：服务器段 服务器段逻辑，这是非常简单的，我们按照之前的.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，这样我们就知道客户端调用的是哪个服务器          &lt;img src ="aggbug/2304720.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>今天碰到了一个我非常佩服的售票员</title><link>http://blog.csdn.net/ghj1976/archive/2008/04/10/2275500.aspx</link><pubDate>Thu, 10 Apr 2008 08:50:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/04/10/2275500.aspx</guid><wfw:comment>comments/2275500.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/04/10/2275500.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>comments/commentRss/2275500.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2275500</trackback:ping><description>我坐公交车的历史，已经有10多年了。今天早上坐852上班的路上，碰到了一个我非常佩服的售票员。佩服她的原因是因为这趟车上，我正好看到2件事情。而她对这两件事情的处理，让我非常有感触，非常有心得。 &amp;nbsp; 第一件事情是在望京时，有个乘客下车时，这个售票员走到一个乘客跟前，小声地跟他说了一些话。当时我还觉得很怪异。虽然我就离那个乘客不到2米的地方。但是我只能断断续续的听到几个词。并不明白在说啥。那个乘客下车后，另外一个售票员也觉得很怪异，问她时，她才说那个乘客拿的是学生卡。 那个乘客看起来，老大不小了。估计三、四十了。看起来一点也不可能是学生。按照北京市的规定，发现非学生使用学生卡，卡当时没收，同时罚款不知道多少。违法使用学生卡的事情，我在其他公交车上也看到，但是这个售票员能用这种方式来解决，我是第一次看到。以前最多看到的是：大声地指责，没收卡，或者根本就当这件事情没有发生。 从跟人沟通的角度来看这个问题：争吵，或者视若不见。都不能帮人解决问题。跟他心平气和的沟通。同时一定不要在公众场合批评他，不能让他觉得自己在被公审。这才是督促他解决问题得最好沟通方式。 反面的教材就多了，比如之前&lt;img src ="aggbug/2275500.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>Vista和Win2008中如何卸载IE8</title><link>http://blog.csdn.net/ghj1976/archive/2008/04/09/2267555.aspx</link><pubDate>Wed, 09 Apr 2008 09:42:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/04/09/2267555.aspx</guid><wfw:comment>comments/2267555.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/04/09/2267555.aspx#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>comments/commentRss/2267555.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2267555</trackback:ping><description>由于我之前装的英文版本的IE8，现在想换成中文版本的， 所以就需要写在原先的IE8 Beta1 英文版，但是按照正常的思路去找卸载的地方，竟然没有找到。考虑到很多人可能会有我类似的问题。特意写了这篇博客帮助大家。 卸载的位置： 控制面板 --&amp;gt; 程序和功能 --&amp;gt; 查看已安装的更新（注意，是在这里） MIcrosoft Windows 分类下面有一个 Windows Internet Explorer 8 ，卸载它即可。IE8 是以更新的方式安装的，而不是一个普通的程序。这点是要需要注意的。 另外，英文版本的IE8 ，版本号是：8.0.6001.17184。 中文版版本是：8.0.6001.17193 。比英文版稍稍新一点。&lt;img src ="aggbug/2267555.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>Windows 2008安装体验</title><link>http://blog.csdn.net/ghj1976/archive/2008/03/26/2220922.aspx</link><pubDate>Wed, 26 Mar 2008 18:03:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/03/26/2220922.aspx</guid><wfw:comment>comments/2220922.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/03/26/2220922.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>comments/commentRss/2220922.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2220922</trackback:ping><description>这几天，我家宝宝一直赖在老妈肚子里面，不出来。害得我每天上班都提心吊胆的，也没有工作热情。就等着宝宝出生，可是他就是赖着不出来。 于是，就把公司电脑重装成了中文版的Win2008。 安装一些软件过程中碰到了不少问题，特意整理成这篇博客，让后来着少走弯路。 &amp;nbsp; 一、显卡驱动的问题 我电脑的显卡是：NVIDIA GeForce 6200 TurboCache。  GeForce 系列的显卡，在Window2008 下，最新的驱动反而不能用。 安装了最新的驱动后，你的显示器就会黑屏，没有任何治了。最新版本的 169.32，虽然说通过了Vista 的WHQL认证，还是直接黑屏。更不要说其他版本的了。 网上也有其他型号的 GeForce 也碰到了这个问题。我碰到这个问题后，反复试验了多个版本的驱动，一直不行。最后在使用下面版本的驱动后，才搞定。下面版本的是32位操作系统的驱动。 http://www.nvidia.com/object/winvista_x86_96.85.html &amp;nbsp; 网上也有人碰到类似问题，不过他的显卡是：NVIDIA QUADRO NVS 280（PCI&lt;img src ="aggbug/2220922.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>InternalServerError时 HttpWebRequest 的 GetResponse 方法处理策略</title><link>http://blog.csdn.net/ghj1976/archive/2008/03/12/2173093.aspx</link><pubDate>Wed, 12 Mar 2008 14:34:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/03/12/2173093.aspx</guid><wfw:comment>comments/2173093.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/03/12/2173093.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2173093.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2173093</trackback:ping><description>现象  我们编码实现请求一个页面时，请求的代码类似如下代码：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) 内部服务器错误。 
我们通过上面的代码，是不能得到错误发生时候的页面源代码的。 
&amp;nbsp; 分析原因： 
(HttpWebResponse)req.GetResponse(); &lt;img src ="aggbug/2173093.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>使用 StackTrace 获得更多跟 Exception 有关的信息</title><link>http://blog.csdn.net/ghj1976/archive/2008/03/05/2148259.aspx</link><pubDate>Wed, 05 Mar 2008 10:16:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/03/05/2148259.aspx</guid><wfw:comment>comments/2148259.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/03/05/2148259.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2148259.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2148259</trackback:ping><description>不知你有没有留意过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 =&lt;img src ="aggbug/2148259.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>其实编码使用代理服务器的门槛非常低</title><link>http://blog.csdn.net/ghj1976/archive/2008/02/21/2111440.aspx</link><pubDate>Thu, 21 Feb 2008 14:52:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/02/21/2111440.aspx</guid><wfw:comment>comments/2111440.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/02/21/2111440.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2111440.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2111440</trackback:ping><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 前面我写的“ASP.net 获得客户端的IP相关知识”博客中，有一个简单的例子，演示了如何客户端编码，修改 HTTP_VIA 和HTTP_X_FORWARDED_FOR ，进而让服务器无法了解你到底是否启用的代理服务器，以及启用的是代理服务器之后的你的真实IP地址。 结合上面的技术，编码使用代理服务器，其实是非常简单的。下面就是客户段的演示代码。比起上篇博客，只修改了几行。 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 下面演示代码中的代理服务器地址，可能在你试验的时候，已经不通了，请更换新的代理服务器地址。    class Program    {        static void Main(string[] args)        {            // 最新代理服务器的地址，可以参看下面的列表              // http://www.proxycn.com/html_proxy/http-1.html            proxyTest("ht&lt;img src ="aggbug/2111440.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>那些HTTP头会被增加HTTP_前缀</title><link>http://blog.csdn.net/ghj1976/archive/2008/02/21/2111377.aspx</link><pubDate>Thu, 21 Feb 2008 14:31:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/02/21/2111377.aspx</guid><wfw:comment>comments/2111377.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/02/21/2111377.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2111377.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2111377</trackback:ping><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 上一篇博客：ASP.net 获得客户端的IP相关知识 中我提到了，如果你想编码更改 HTTP_VIA、HTTP_X_FORWARDED_FOR 的值，你需要客户端增加的HTTP Head为：VIA、X_FORWARDED_FOR。即，少个 "HTTP_" 前缀。那么，到底读取这些值时，那些HTTP头增加时候需要增加HTTP_前缀，那些又不需要呢？ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 简单来说，出了一些系统预先定义的，有特殊意义的HTTP头外，其他都需要增加 "HTTP_" 前缀。这是W3C 的 The Common Gateway Interface (CGI) 规范的定义。这些预定义的变量如下：    变量 说明   APPL_MD_PATH 检索 ISAPI DLL 的 (WAM) Application 的元数据库路径。   APPL_PHYSICAL_PATH 检索与元数据库路径相应的物理路径。IIS 通过将 APPL_MD_PATH 转换为物理（目录）路&lt;img src ="aggbug/2111377.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>获得客户端的IP相关知识</title><link>http://blog.csdn.net/ghj1976/archive/2008/02/20/2109915.aspx</link><pubDate>Wed, 20 Feb 2008 17:27:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/02/20/2109915.aspx</guid><wfw:comment>comments/2109915.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/02/20/2109915.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2109915.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2109915</trackback:ping><description>ASP.net 获得客户端的IP，最常见的是使用下述代码：string user_IP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
对于了解代理服务器情况的人，我们会知道，如果用户使用了代理服务器，上述代码获得的是代理服务器的IP地址；如果用户使用了多个代理服务器，则是到达服务器的最后一个代理服务器的IP地址。 
&amp;nbsp; REMOTE_ADDR 说明：
访问客户端的 IP 地址。 此项信息用户不可以修改。如果真的给改了的话，你也和服务器连接不了了，服务器就是按照这个来与客户端建立连接并进行通讯的。实际我测试修改这个 ServerVariables ， 一点效果都没有。仍然获得是实际的值。另： Request.UserHostAddress 和 Request.ServerVariables["REMOTE_ADDR"] 实际是同一个值。
&amp;nbsp; 如何绕过代理服务器获得用户真实的IP地址呢？ 这时候我们一般是类似如下的代码（这里我简单起见，没有作一些边界判断）priv&lt;img src ="aggbug/2109915.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>八年</title><link>http://blog.csdn.net/ghj1976/archive/2008/01/24/2062564.aspx</link><pubDate>Thu, 24 Jan 2008 09:50:00 GMT</pubDate><guid>http://blog.csdn.net/ghj1976/archive/2008/01/24/2062564.aspx</guid><wfw:comment>comments/2062564.aspx</wfw:comment><comments>http://blog.csdn.net/ghj1976/archive/2008/01/24/2062564.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>comments/commentRss/2062564.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2062564</trackback:ping><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 昨天，由Sisley Lin 处得知，我将被推荐成了“十大杰出开发技术英雄”候选人之一，有点激动。推荐的理由是我为CSDN 这个最大的中文技术社区的成长所贡献的这些年。当我回首看自己在CSDN经历时，发现自己已为CSDN公司工作了7年半，在CSDN 论坛活动了8年。蓦然回首，八年光阴已匆匆而过，心中真是感慨万千呀。  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 记得那是在99年底，2000年初时，我从大学毕业刚半年，跟随一个我的铁哥们跳槽到一家新成立的电子商务的网站（http://www.ego88.com/， 不过这个网站现在已经无法访问了）。由于之前我是在一家使用Delphi开发ERP，医院信息系统的公司，我对Delphi非常感兴趣，当时最常去的就是大富翁论坛（http://www.delphibbs.com/）。经这次跳槽后，由于转行做网站，就开始学习ASP技术。在大富翁论坛时，听说新开了一个程序员的论坛CSDN，而CSDN有个板块在讨论ASP，于是乎，就整天泡CSDN论坛的A&lt;img src ="aggbug/2062564.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>