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