0
我構建了一個與遠程服務器通信的程序。當我按順序處理所有消息(使用JSON對象)時,它的行爲是正確的。但是,當我在線程中構建它時,它會返回遠程服務器返回一個錯誤:(500)內部服務器錯誤。HttpWebResponse導致線程中發生內部服務器錯誤
在配置遠程服務器時會出現問題嗎?從日誌中我可以看到請求會在0.5秒內打到遠程服務器。
以下是我如何與遠程服務器進行通信的代碼。
void Execute(){
var httpWebRequest = (HttpWebRequest)WebRequest.Create(REMOTE_URL);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(json);
streamWriter.Close();
}
HttpWebResponse httpResponse = null;
try
{
httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
}
catch (Exception exc)
{
// Internal Server Error exception caught here.
}
if (httpResponse != null)
{
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
string result = streamReader.ReadToEnd();
// deserialize the result
streamReader.Close();
}
}
httpResponse.Close();
}
這裏是我如何開始線程。
ObjectManager o = new ObjectManager()
Thread thread = new Thread(() => o.Execute(parameter));
thread.Start();
我在想這是線程或服務器配置中的一個問題。有什麼想法嗎?
感謝您的建議。不幸的是,它是一個遠程服務器,我無法訪問日誌。我只能通過捕捉異常並重新發布來解決問題。 – ydoow