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(); }
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; } }