Приложение на базе Windows для тестирования моего приложения ASP.NET - PullRequest
0 голосов
/ 13 января 2012

Я хочу подчеркнуть мой сайт с множественным доступом.Для этого я создал 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();               
        }

    }

Ответы [ 3 ]

2 голосов
/ 13 января 2012

Скорее используйте Free WCAT Tool для загрузки теста вашей страницы ASP.NET.

Также посмотрите это видео [Как я:] Загрузка теста веб-приложения

Если у вас установлена ​​Visual Studio 2010 Ultimate, см. Ссылку

Надеюсь, это поможет.

1 голос
/ 13 января 2012

По умолчанию HttpRequest разрешает только два подключения к одному хосту. Вы можете изменить это, установив свойство DefaultConnectionLimit .

0 голосов
/ 13 января 2012

Попробуйте удалить 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...