我已经构建了一个与远程服务器通信的程序。当我按顺序处理所有消息(在JSON对象中)时,它的行为正确。但是,当我在线程中构建它时,它返回远程服务器返回错误:(500)内部服务器错误。
远程服务器的配置会出现问题吗?从日志中我可以看到请求将在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();
我认为这是线程或服务器配置中的问题。有什么想法吗?
答案 0 :(得分:1)
从我所看到的,线程没有任何问题。
错误500表示服务器上出现了问题。 可能存在许多可能性,一种是服务器(应用程序)无法处理并发请求。 您需要再次查看服务器上的错误,以便更好地了解该端的情况。