代码之家  ›  专栏  ›  技术社区  ›  Joshua Hayworth

哪个进程返回“(404)Not Found”错误

  •  2
  • Joshua Hayworth  · 技术社区  · 15 年前

    我有一个简单的测试应用程序(C控制台应用程序),它可以让HTTP访问.NET资源:

    static void Main(string[] args)
        {
            while (true)
            {
                try
                {
                    System.Net.WebRequest req = System.Net.WebRequest.Create("http://ranger/roztest/Default.aspx");
    
                    System.Net.WebResponse resp = req.GetResponse();
                    System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
    
                    Console.WriteLine(DateTime.Now.Ticks.ToString() + " - " + sr.ReadToEnd().Trim());
                }
                catch (Exception ex)
                {
                    Console.WriteLine(DateTime.Now.Ticks.ToString() + " - " + "An Exception has occured: " + ex.GetType().ToString() + " - " + ex.Message);
                }
    
                Thread.Sleep(2000);
            }
        }
    

    如果我执行以下命令:

    net stop w3svc
    

    IIS将停止。我编写的命令行实用程序将返回System.net.WebException“(404)Not Found”。

    如果IIS停止,哪个进程返回404?

    包含IIS服务的是svchost.exe吗?

    背景信息:
    我正在Windows7(x64)专业版上的IIS7下运行default.aspx页面。

    正在“req.getResponse()”行上引发WebException。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Joshua Hayworth    15 年前

    更多线索出现:

    查看以下内容 post from Mike Volodarsky :

    从Windows 2003开始,IIS使用 要侦听的http.sys内核驱动程序 对于请求,W3SVC服务将 将其配置为侦听上的请求 与关联的所有绑定终结点 你的网站。在iis7上,服务正在做 大部分工作现在被称为 (即使W3SVC在需要之前也是如此)。一 配置错误可能导致 was/w3svc无法启动站点,并且 因此,HTTP.sys将不会接收 对其端点的请求。也, 这个网站很可能 缺少定义本身,或者 网站没有定义权限 绑定。

    甚至一个 tool to configure the http.sys driver .

        2
  •  0
  •   feroze    15 年前

    您正在向机器“护林员”发送请求。这和你停止IIS的机器一样吗?

        3
  •  0
  •   Dan Esparza    15 年前

    我相信(如果您真的连接到一个根本没有响应的服务器),可能是.NET网络堆栈本身引发了异常——可能与连接超时有关。