2012-07-14 135 views
0

考虑以下功能:Web客户端和请求头

public string Get(string url, string parameters = "", bool xml = false) 
    { 
     try 
     { 
      if(xml) { client.Headers["X-Requested-With"] = "XMLHttpRequest"; 
      return client.DownloadString(url + "?" + parameters); 
     } 
     catch (WebException ex) 
     { 
      System.Console.WriteLine(ex.Message); 
      throw; 
     } 
    } 

和两次调用它:

Get("http://www.host.com", "", true); 
Get("http://www.host.com", "", false); 

将在第二的get()调用有X-要求,随着头设置?在每次调用WebClient.DownloadString函数后,这些标题是否会“重新设置”,或者我必须手动将它们恢复为默认值?

+3

我想知道如果我在'return ...'行插入一个断点并检查了'client.Headers'会发生什么。我会避免downvoting,但请考虑下面回答你自己的问题。 – 2012-07-14 19:18:45

+0

有可能他的跑动代码在那里他可以不使用运行时编译的代码使用调试器,如ASP.NET网站的环境。 – Dai 2012-07-14 19:24:21

+0

@Ahmed为什么你要调用两个获取不同的布尔的 – HatSoft 2012-07-14 19:24:42

回答

0

调试代码后,我来到了套头依然存在,他们需要在这种情况下,手动将恢复到默认值的结论。

+5

你想在这里问你之前已经做了什么吗? – 2012-07-14 19:40:38

+0

阅读文档将提供类似的结果。 – usr 2012-07-14 20:08:01