我有一个目录的两个图片:应用程序挂在XMLString = client.DownloadString(rootURL + basePolicyNumber);
IMG_MGR_VAH007157100_d68807cb-8bd5-4ca8-861d-d878fa7e20b9.tiff IMG_MGR_VAH007157200_121e8ae3-8e88-4775-be1e-a833e1c1eb51.tiff
我有一个按钮:
private void btnUpload_Click(object sender, EventArgs e)
{
//check if all files in this folder are .tiff.
finalImages = Directory.GetFiles(AppVars.FinalPolicyImagesDirectory);
if (finalImages.Length == 0)
{
MessageBox.Show("There are no TIFF files to be uploaded. Please generate files first.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
Web web = new Web();
XML xml = new XML();
//The first item in this foreach works fine. The second item gets hung.
foreach (string tiffFile in finalImages)
{
PolicyNumber = Path.GetFileName(tiffFile).Substring(8, 12);
basePolicyNumber = PolicyNumber.Remove(PolicyNumber.Length - 2);
basePolicyNumber = basePolicyNumber + "00";
finalPolicyName = Path.GetFileName(tiffFile);
//THIS IS WHERE I RUN INTO PROBLEMS......BUT ONLY WITH THE SECOND FILE IN THE FOREACH CLAUSE.
PolicyUUID = web.GetPolicyUUID(AppVars.pxCentralRootURL, basePolicyNumber);
if (!string.IsNullOrEmpty(PolicyUUID) == true)
{
ixLibraryPolicyBucketURL = AppVars.ixLibraryRootURL + "policy_" + PolicyUUID + "/objects/";
try
{
httpResponse = web.UploadFileToixLibrary(ixLibraryPolicyBucketURL, tiffFile);
xml.GeneratePayLoad(ixLibraryPolicyBucketURL + finalPolicyName + ".tiff", finalPolicyName);
//web.pxCentralPOST(ixLibraryPolicyBucketURL + "/IMG_MGR_37722779-7487-4d47-a669-ac33a61dceb2.tiff", AppVars.pxCentralRootURL + PolicyUUID, AppVars.pxCentralXMLPayloadFilePath);
MessageBox.Show(httpResponse);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
}
了 “的foreach” 节中的第二项被挂在该呼叫:
PolicyUUID = web.GetPolicyUUID(AppVars.pxCentralRootURL,basePolicyNumber);
下面是这个类/方法的代码:
public string GetPolicyUUID(string rootURL, string basePolicyNumber)
{
string PolicyUUID = "";
using (WebClient client = new WebClient())
{
NetworkCredential credentials = new NetworkCredential();
credentials.UserName = AppVars.Username;
credentials.Password = AppVars.Password;
client.Credentials = credentials;
if (DoesPageExist(rootURL + basePolicyNumber) == true)
{
try
{
XmlDocument doc = new XmlDocument();
string XMLString = "";
//the app stops working here. it just hangs, no errors or anything. IT WORKS THE FIRST TIME AROUND.
XMLString = client.DownloadString(rootURL + basePolicyNumber);
doc.LoadXml(XMLString);
var node = doc.DocumentElement.SelectSingleNode("//Identifier[@name='InsightPolicyId']");
if (node != null && node.Attributes["value"] != null)
{
var val = node.Attributes["value"].Value;
PolicyUUID = val.ToString();
}
}
catch (WebException ex)
{
MessageBox.Show(ex.Message);
}
}
else
{
MessageBox.Show("Page does not exist. This means that the policy number of the picture you're trying to upload does not exist in pxCentral. Please verify its name. The policy number in questoin is " + basePolicyNumber + ".", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
return PolicyUUID;
}
我不知道在运行这些代码的第二张照片为什么,应用程序只是挂起。任何人都可以帮我一把吗?
没有大声笑!如果我通过调试,我一行一行,然后一旦我到达XMLString = client.DownloadString(rootURL + basePolicyNumber);没有任何反应,黄色箭头消失! – Testifier 2012-08-10 20:58:15