0
我使用的代碼一個WebRequest
:WebRequest的瞬間拋出「無法連接到遠程服務器」
bool error = false;
WebException exc = null;
statusText.Text = "Starting";
String urlRequest = "http://****PRIVATER URL****/CC/runCode.php?lang=";
urlRequest += global.language;
urlRequest += "&code=";
urlRequest += Uri.EscapeDataString(global.codeString);
statusText.Text = "Requesting";
webRequest = WebRequest.Create(urlRequest);
webRequest.Proxy = null;
//webRequest.BeginGetResponse(new AsyncCallback(webRequestDone), null);
try
{
using (resp = await webRequest.GetResponseAsync())
{
//TODO get this working!
}
}
catch (WebException e)
{
error = true;
exc = e;
}
if (error)
{
await new Windows.UI.Popups.MessageDialog(exc.Message).ShowAsync();
}
的Web服務器進行訪問,而無需使用代理。如果我得到一個try catch
條款之外的響應,它運行得很好,象下面這樣:
bool error = false;
WebException exc = null;
statusText.Text = "Starting";
String urlRequest = "http://****PRIVATE URL****/CC/runCode.php?lang=";
urlRequest += global.language;
urlRequest += "&code=";
urlRequest += Uri.EscapeDataString(global.codeString);
statusText.Text = "Requesting";
webRequest = WebRequest.Create(urlRequest);
webRequest.Proxy = null;
//webRequest.BeginGetResponse(new AsyncCallback(webRequestDone), null);
resp = await webRequest.GetResponseAsync();
我不認爲我們有足夠的信息來回答這個問題。連接到遠程服務器可能會失敗的原因有很多,無論是您的防火牆,您所使用的任何代理服務器,還是最有可能的服務器或其所在的任何網絡設備是否拒絕連接。 – Jacob
如果我刪除'try catch',我可以很好地訪問服務器。 「try catch」有什麼問題嗎? – Sirens
當你移除try/catch時你仍然調用'GetResponseAsync'?不,try/catch會改變行爲是沒有意義的。 – Jacob