public static void WebSocket_Https_RequestReply_TextBuffered_KeepAlive() { TextMessageEncodingBindingElement textMessageEncodingBindingElement = null; HttpsTransportBindingElement httpsTransportBindingElement = null; CustomBinding binding = null; ChannelFactory <IWSRequestReplyService> channelFactory = null; IWSRequestReplyService client = null; try { // *** SETUP *** \\ textMessageEncodingBindingElement = new TextMessageEncodingBindingElement(); httpsTransportBindingElement = new HttpsTransportBindingElement() { MaxReceivedMessageSize = ScenarioTestHelpers.SixtyFourMB, MaxBufferSize = ScenarioTestHelpers.SixtyFourMB }; httpsTransportBindingElement.WebSocketSettings.TransportUsage = WebSocketTransportUsage.Always; httpsTransportBindingElement.WebSocketSettings.KeepAliveInterval = TimeSpan.FromSeconds(2); binding = new CustomBinding(textMessageEncodingBindingElement, httpsTransportBindingElement); channelFactory = new ChannelFactory <IWSRequestReplyService>(binding, new EndpointAddress(Endpoints.WebSocketHttpsRequestReplyTextBuffered_Address)); client = channelFactory.CreateChannel(); // *** EXECUTE *** \\ // Invoking DownloadData string result = client.DownloadData(); // Invoking UploadData client.UploadData(ScenarioTestHelpers.CreateInterestingString(123)); // *** VALIDATE *** \\ foreach (string serverLogItem in client.GetLog()) { //Assert.True(serverLogItem != ScenarioTestHelpers.RemoteEndpointMessagePropertyFailure, ScenarioTestHelpers.RemoteEndpointMessagePropertyFailure); Assert.True(!serverLogItem.Contains(ScenarioTestHelpers.RemoteEndpointMessagePropertyFailure), serverLogItem); } // *** CLEANUP *** \\ ((ICommunicationObject)client).Close(); channelFactory.Close(); } finally { // *** ENSURE CLEANUP *** \\ ScenarioTestHelpers.CloseCommunicationObjects((ICommunicationObject)client, channelFactory); } }
public static void WebSocket_Https_RequestReply_Buffered_KeepAlive(NetHttpMessageEncoding messageEncoding) { EndpointAddress endpointAddress; NetHttpsBinding binding = null; ChannelFactory <IWSRequestReplyService> channelFactory = null; IWSRequestReplyService client = null; try { // *** SETUP *** \\ binding = new NetHttpsBinding() { MaxReceivedMessageSize = ScenarioTestHelpers.SixtyFourMB, MaxBufferSize = ScenarioTestHelpers.SixtyFourMB, }; binding.WebSocketSettings.TransportUsage = WebSocketTransportUsage.Always; binding.WebSocketSettings.KeepAliveInterval = TimeSpan.FromSeconds(2); binding.TransferMode = TransferMode.Buffered; binding.MessageEncoding = messageEncoding; endpointAddress = new EndpointAddress(Endpoints.WebSocketHttpsRequestReplyBuffered_Address + Enum.GetName(typeof(NetHttpMessageEncoding), messageEncoding)); channelFactory = new ChannelFactory <IWSRequestReplyService>(binding, endpointAddress); client = channelFactory.CreateChannel(); // *** EXECUTE *** \\ // Invoking DownloadData string result = client.DownloadData(); // Invoking UploadData client.UploadData(ScenarioTestHelpers.CreateInterestingString(123)); // *** VALIDATE *** \\ foreach (string serverLogItem in client.GetLog()) { //Assert.True(serverLogItem != ScenarioTestHelpers.RemoteEndpointMessagePropertyFailure, ScenarioTestHelpers.RemoteEndpointMessagePropertyFailure); Assert.True(!ScenarioTestHelpers.IsLocalHost() || !serverLogItem.Contains(ScenarioTestHelpers.RemoteEndpointMessagePropertyFailure), serverLogItem); } // *** CLEANUP *** \\ ((ICommunicationObject)client).Close(); channelFactory.Close(); } finally { // *** ENSURE CLEANUP *** \\ ScenarioTestHelpers.CloseCommunicationObjects((ICommunicationObject)client, channelFactory); } }