2017-05-18 45 views
0

這是現在破壞了我的大腦一段時間。當我發佈一個較小的XML字符串時,代碼工作正常。只要我添加更多XML節點併發布,我就會得到臭名昭着的'404錯誤'C#WebClient 404錯誤大字符串

我將XML數據作爲字符串發佈到C#中的通用處理程序。

string strXML = "Large XML Content Here"; 

WebClient client = new WebClient(); 

string xmlResult = ""; 

try 
{ 
    xmlResult = client.DownloadString(_workContext.AccountingWebServiceLink 
            + "?action=updateprimary&xml=" 
            + System.Web.HttpUtility.UrlEncode(strXML)); 
} 
catch(Exception e) 
{ 
    System.IO.File.AppendAllText(Server.MapPath("~/addressXMLReturnError.txt"), 
         "Error: " + e.Message + " returnValue = " + xmlResult); 
} 

我認爲這可能與服務器不接受大字符串有關嗎?

+0

這可能是限制,以便嘗試'<的httpRuntime maxUrlLength =「XXX」 />'你的web.config應用程序,但我認爲這種情況下的錯誤是不同的。 –

+0

@PawełŁukasik我現在就試試看看它是否有所作爲。僅供參考:我發佈的字符串長度爲1562長 – Orion

+0

如果您有權訪問您要發送XML的服務器的代碼,我建議您進行HTML POST,並在編碼後將XML放入主體中作爲BASE64。 https://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340 –

回答