我有一個目錄的兩個圖片:應用程序掛在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