2010-06-17 56 views

回答

2

Request.Headers将分化的要求:

if (Request.Headers["host"].ToLower() == "localhost") 
{ 
    //shouldn't be hit for 127.0.0.1 
} 

注:根据您的需要,你将不得不考虑您的检查之前清偿的端口号。

+0

这或HTTP_HOST会做的伎俩。这很棒。将帮助我避免我所看到的问题。 (见tvanfosson评论) – BuddyJoe 2010-06-17 22:21:47

4

什么关系呢?你不想只知道连接是否是本地连接?我只会使用IsLocal属性。

if (Request.IsLocal) 
{ 
} 
+0

实际上它确实如此。 Windows 7中的内置DNS本地主机分辨率非常糟糕。取消hosts文件中的行注释似乎没有帮助。而我需要打127.0.0.1而不是本地主机或其死缓。每一个请求都会浪费时间来解析DNS。在ajax沉重的应用程序,这是可怕的。 – BuddyJoe 2010-06-17 22:16:49

+1

与IPv6堆栈有关。 http://stackoverflow.com/questions/1726585 – BuddyJoe 2010-06-17 22:25:50

+1

也许这是Firefox的问题,我可以使用这些修复程序之一。但我仍然想知道如何绕过127.0.0.1的DNS。关于IsLocal的好处,虽然+1 – BuddyJoe 2010-06-17 22:27:58

0

实际上,你可以指定任何名字作为本地主机服务器名称(只需编辑您的主机文件,例如,用一个任意名称)

你可能需要让机器告诉你,如果它是一个地方请求而不是试图为自己弄明白。

+0

看到评论 - 将不得不检查只是随机选择名称并将其放入主机的速度。我之前在其他操作系统上完成了此操作,但之前未安装Windows 7。 – BuddyJoe 2010-06-17 22:23:09