Exemplo n.º 1
0
        public void Should_allow_multiple_connections()
        {
            var requests = new List <HttpWebRequest>();

            Stopwatch connectionTimer = Stopwatch.StartNew();

            int expected = 100;

            for (int i = 0; i < expected; i++)
            {
                var webRequest = (HttpWebRequest)WebRequest.Create(ServerUri.AppendPath("Services/MyService"));
                webRequest.Method = "POST";
                using (Stream reque = webRequest.GetRequestStream())
                {
                    byte[] buffer = Encoding.UTF8.GetBytes("Hello");

                    reque.Write(buffer, 0, buffer.Length);
                }

                requests.Add(webRequest);
            }

            connectionTimer.Stop();

            Trace.WriteLine("Established {0} connections in {0}ms".FormatWith(expected, connectionTimer.ElapsedMilliseconds));

            requests.ForEach(request =>
            {
                try
                {
                    using (WebResponse webResponse = request.GetResponse())
                    {
                        using (Stream responseStream = webResponse.GetResponseStream())
                        {
                            string response = responseStream.ReadToEndAsText();
                            Trace.WriteLine(response);
                        }
                        webResponse.Close();
                    }
                }
                catch (WebException ex)
                {
                    using (WebResponse response = ex.Response)
                    {
                        var httpResponse = (HttpWebResponse)response;

                        Trace.WriteLine("HttpStatusCode: " + httpResponse.StatusCode);
                        using (Stream data = response.GetResponseStream())
                        {
                            string r = data.ReadToEndAsText();
                            Trace.WriteLine(r);
                        }
                    }
                }
            });

            requests.Clear();
        }
Exemplo n.º 2
0
 public void Connecting_to_a_socket_server()
 {
     _webRequest = (HttpWebRequest)WebRequest.Create(ServerUri.AppendPath("version"));
     try
     {
         _webResponse = (HttpWebResponse)_webRequest.GetResponse();
     }
     catch (WebException ex)
     {
         _webResponse = (HttpWebResponse)ex.Response;
     }
 }