2009-04-27 25 views
0

我試圖孤立我有一個做XML RPC調用的一個問題:問題使得XML RPC調用

XDocument doc = new XDocument(); 
doc.Add(new XElement("methodCall", 
     new XElement("methodName", "send"), 
     new XElement("params", 
      new XElement("param", new XElement("value", new XElement("string", this.ApiKey))), 
      new XElement("param", new XElement("value", new XElement("string", this.FromAddress))), 
      new XElement("param", new XElement("value", new XElement("string", recipient))), 
      new XElement("param", new XElement("value", new XElement("string", contents))) 
     ) 
    ) 
); 

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://urlremoved"); 
req.ContentType = "text/xml"; 
req.Method = "POST"; 

XmlTextWriter writer = new XmlTextWriter(req.GetRequestStream(), Encoding.UTF8); 
doc.Save(writer); 

HttpWebResponse response = (HttpWebResponse)req.GetResponse(); 
StreamReader reader = new StreamReader(response.GetResponseStream()); 
return reader.ReadToEnd(); 

這只是攤位和永不超時(即使我設置超時的req.TimeOut和req.ReadWriteTimeout)。我刪除了網址,主要是爲了將注意力集中在代碼上。

代碼有什麼問題會阻止這個調用被創建嗎?

回答

0

如果在保存XML之後調用writer.Flush();會發生什麼情況?

我不知道爲什麼這不會超時,但也許它沒有超時,因爲寫入被緩衝的事實沒有提出請求。