我想强调我的网站具有多种访问权限。为此,我创建了一个基于Windows的应用程序,调用1000次网站。 不幸的是,它只适用于2个电话。这是代码:
static void myMethod( int i)
{
int j = 0;
try
{
string url = "";
WebRequest wr = null;
HttpWebResponse response = null;
url = String.Format("http://www.google.com");
wr = WebRequest.Create(url);
//wr.Timeout = 1000;
response = (HttpWebResponse)wr.GetResponse();
MessageBox.Show("end");
}
catch (Exception ex)
{
MessageBox.Show(j.ToString() + " " + ex.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 1000; i++)
{
ThreadStart starter = delegate { myMethod(i); };
Thread thread = new Thread(starter);
thread.Start();
}
}
答案 0 :(得分:2)
而是使用Free WCAT Tool 加载测试ASP.NET页面。
另请观看此视频[How Do I:] Load Test a Web Application
如果您有Visual Studio 2010 Ultimate,请参阅此link
我希望这会有所帮助。
答案 1 :(得分:1)
默认情况下,HttpRequest
仅允许两个连接到同一主机。
您可以通过设置DefaultConnectionLimit属性来更改此设置。
答案 2 :(得分:0)
在继续之前尝试处理IDisposable
实例(即响应)。
static void myMethod( int i)
{
int j = 0;
try
{
string url = String.Format("http://www.google.com");
WebRequest wr = WebRequest.Create(url);
using(HttpWebResponse response = (HttpWebResponse)wr.GetResponse())
using(Stream responseStream = wr.GetResponseStream())
{
//handle response / response stream
}
MessageBox.Show("end"); //this won't scale!!!
}
catch (Exception ex)
{
MessageBox.Show(j.ToString() + " " + ex.Message);
}
}