I was passing a large file in the first arg to SendXMLFile() below but, since it was causing the handheld device to \"hang\"/\"freeze\" I temporarily hard-coded a much smaller f
I think you should return to basics:
public static string SendXMLFile(string xmlFilepath, string uri, int timeout)
{
using (var client = new WebClient())
{
client.Headers.Add("Content-Type", "application/xml");
byte[] response = client.UploadFile(uri, "POST", xmlFilepath);
return Encoding.ASCII.GetString(response);
}
}
and see what works and what the server thinks of your file.
When you really need a TimeOut then see this answer