减少 HttpWebRequest 时间或逐行向后阅读网站
Reducing HttpWebRequest time or reading website line by line backwards
原始问题
我正在为游戏服务器编写远程连接。它需要读取日志文件以确定服务器中发生了什么。我写了一个读取日志文件的方法。目前需要 7720 毫秒才能完成。
private string getlog()
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(logFileLocation);
webRequest.UserAgent = ".NET Framework Test Client";
webRequest.Accept = "text/html";
HttpWebResponse httpResponse = (HttpWebResponse)webRequest.GetResponse();
string responseData;
using (StreamReader responseReader = new StreamReader(httpResponse.GetResponseStream()))
{
responseData = responseReader.ReadToEnd();
}
return responseData;
}
我正在尝试减少此方法的运行时间。现在它得到的文件从最旧的信息开始大约有 7000 行。而且我根本不需要旧信息,所以我无缘无故地阅读它。有没有办法向后逐行读取文件。或者有什么方法可以加快这个方法吗?
编辑
代码为
private string getlog()
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(logFileLocation);
webRequest.UserAgent = ".NET Framework Test Client";
webRequest.Accept = "text/html";
webRequest.Proxy = null; //Thanks to tsandy
HttpWebResponse httpResponse = (HttpWebResponse)webRequest.GetResponse();
string responseData;
using (StreamReader responseReader = new StreamReader(httpResponse.GetResponseStream()))
{
responseData = responseReader.ReadToEnd();
}
return responseData;
}
代理自动检测很慢-尝试webRequest.Proxy = null;
原始问题
我正在为游戏服务器编写远程连接。它需要读取日志文件以确定服务器中发生了什么。我写了一个读取日志文件的方法。目前需要 7720 毫秒才能完成。
private string getlog()
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(logFileLocation);
webRequest.UserAgent = ".NET Framework Test Client";
webRequest.Accept = "text/html";
HttpWebResponse httpResponse = (HttpWebResponse)webRequest.GetResponse();
string responseData;
using (StreamReader responseReader = new StreamReader(httpResponse.GetResponseStream()))
{
responseData = responseReader.ReadToEnd();
}
return responseData;
}
我正在尝试减少此方法的运行时间。现在它得到的文件从最旧的信息开始大约有 7000 行。而且我根本不需要旧信息,所以我无缘无故地阅读它。有没有办法向后逐行读取文件。或者有什么方法可以加快这个方法吗?
编辑
代码为
private string getlog()
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(logFileLocation);
webRequest.UserAgent = ".NET Framework Test Client";
webRequest.Accept = "text/html";
webRequest.Proxy = null; //Thanks to tsandy
HttpWebResponse httpResponse = (HttpWebResponse)webRequest.GetResponse();
string responseData;
using (StreamReader responseReader = new StreamReader(httpResponse.GetResponseStream()))
{
responseData = responseReader.ReadToEnd();
}
return responseData;
}
代理自动检测很慢-尝试webRequest.Proxy = null;