コード例 #1
1
        private Message TraceHttpResponseMessage(HttpResponseMessage msg)
        {
            string tracemsg = String.Format(
                "Web Response Header: {0}\n" +
                "Web Response Body: {1}",
                msg,
                msg.Content != null ? msg.Content.ReadAsString() : "(empty)");

            LoggingHelper.TraceLine(tracemsg, LoggingHelper.LogLevel.Info);

            return msg.ToMessage();
        }
コード例 #2
0
 private Message TraceHttpResponseMessage(HttpResponseMessage msg)
 {
     // response tracing is done in BaseResource.ReturnResult
     return msg.ToMessage();
 }
コード例 #3
0
ファイル: TestServiceBase.cs プロジェクト: nuxleus/WCFWeb
 public Message CreateMessage(HttpResponseMessage httpResponse)
 {
     var response = httpResponse.ToMessage();
     Assert.IsNotNull(response);
     return response;
 }
コード例 #4
0
 public void ToMessage_Returns_HttpMessage_With_IsRequest_False()
 {
     HttpResponseMessage response = new HttpResponseMessage();
     HttpMessage message = response.ToMessage() as HttpMessage;
     Assert.IsFalse(message.IsRequest, "HttpResponseMessage.ToMessage should have returned an HttpMessage instance in which IsRequest is 'false'.");
 }
コード例 #5
0
 public void ToMessage_Returns_HttpMessage_For_HttpResponseMessage()
 {
     HttpResponseMessage request = new HttpResponseMessage();
     Message message = request.ToMessage();
     Assert.IsNotNull(message, "HttpResponseMessage.ToMessage should never return null.");
     Assert.IsInstanceOfType(message, typeof(HttpMessage), "HttpRequestMessage.ToMessage should have returned an HttpMessage instance.");
 }
コード例 #6
0
        public void ToHttpResponseMessage_Throws_If_Message_Is_Closed()
        {
            HttpResponseMessage response = new HttpResponseMessage();
            Message wcfResponse = response.ToMessage();
            wcfResponse.Close();

            ExceptionAssert.Throws<ObjectDisposedException>(
                SR.MessageClosed,
                () =>
                {
                    wcfResponse.ToHttpResponseMessage();
                });
        }
コード例 #7
0
 public void ToHttpResponseMessage_Returns_The_Original_HttpResponseMessage()
 {
     HttpResponseMessage response = new HttpResponseMessage();
     Message wcfResponse = response.ToMessage();
     HttpResponseMessage responseRoundTripped = wcfResponse.ToHttpResponseMessage();
     Assert.IsNotNull(responseRoundTripped, "Message.ToHttpResponseMessage should not have returned null.");
     Assert.AreSame(response, responseRoundTripped, "Message.ToHttpResponseMessage should have returned the orignal instance of HttpResponseMessage.");
 }
コード例 #8
0
 public void ToHttpResponseMessage_Does_Not_Change_Message_State()
 {
     HttpResponseMessage response = new HttpResponseMessage();
     Message wcfResponse = response.ToMessage();
     MessageState state = wcfResponse.State;
     wcfResponse.ToHttpResponseMessage();
     Assert.AreEqual(state, wcfResponse.State, "Message.State should be the same before and after calling Message.ToHttpResponseMessage.");
     HttpResponseMessage responseRoundTripped = wcfResponse.ToHttpResponseMessage();
 }
コード例 #9
0
        public void ToHttpResponseMessage_Can_Be_Called_Multiple_Times()
        {
            HttpResponseMessage response = new HttpResponseMessage();
            Message wcfResponse = response.ToMessage();
            HttpResponseMessage responseRoundTripped = wcfResponse.ToHttpResponseMessage();
            Assert.IsNotNull(responseRoundTripped, "Message.ToHttpResponseMessage should not have returned null.");
            Assert.AreSame(response, responseRoundTripped, "Message.ToHttpResponseMessage should have returned the orignal instance of HttpResponseMessage.");

            HttpResponseMessage responseRoundTrippedAgain = wcfResponse.ToHttpResponseMessage();
            Assert.IsNotNull(responseRoundTrippedAgain, "Message.ToHttpResponseMessage should not have returned null.");
            Assert.AreSame(response, responseRoundTrippedAgain, "Message.ToHttpResponseMessage should have returned the orignal instance of HttpResponseMessage.");
        }
コード例 #10
0
 public void ToHttpRequestMessage_Returns_Null_For_HttpResponseMessage()
 {
     HttpResponseMessage response = new HttpResponseMessage();
     Message wcfResponse = response.ToMessage();
     Assert.IsNull(wcfResponse.ToHttpRequestMessage(), "Message.ToHttpRequestMessage should have returned null.");
 }
コード例 #11
0
        public void BeforeSendReply_Receives_HttpResponseMessage()
        {
            HttpResponseMessage httpResponseMessage = new HttpResponseMessage();
            Message wcfMessage = httpResponseMessage.ToMessage();

            IDispatchMessageInspector inspector = new MockHttpMessageInspector()
            {
                OnBeforeSendReply = (actualMessage, state) =>
                {
                    Assert.AreSame(httpResponseMessage, actualMessage, "BeforeSendReply did not receive the message we provided.");
                }
            };

            inspector.BeforeSendReply(ref wcfMessage, correlationState: null);
            Assert.AreSame(httpResponseMessage, wcfMessage.ToHttpResponseMessage(), "Expected embedded HttpResponseMessage to remain unmodified");
            Assert.IsTrue(((MockHttpMessageInspector)inspector).WasBeforeSendReplyCalled, "BeforeSentReply in derived class was not called");
        }
コード例 #12
0
        public void BeforeSendReply_Receives_Custom_CorrelationState()
        {
            HttpResponseMessage httpResponseMessage = new HttpResponseMessage();
            Message wcfMessage = httpResponseMessage.ToMessage();
            object correlationState = "Hello";

            IDispatchMessageInspector inspector = new MockHttpMessageInspector()
            {
                OnBeforeSendReply = (actualMessage, state) =>
                {
                    Assert.AreSame(correlationState, state, "BeforeSendReply did not receive the state we provided.");
                }
            };

            inspector.BeforeSendReply(ref wcfMessage, correlationState);
            Assert.IsTrue(((MockHttpMessageInspector)inspector).WasBeforeSendReplyCalled, "BeforeSentReply in derived class was not called");
        }
        public void ToHttpResponseMessage_Throws_If_Message_Is_Closed()
        {
            HttpResponseMessage response = new HttpResponseMessage();
            Message wcfResponse = response.ToMessage();
            wcfResponse.Close();

            ExceptionAssert.Throws(
                typeof(ObjectDisposedException),
                "Message.ToHttpResponseMessage should have thrown because the message is closed.",
                () =>
                {
                    wcfResponse.ToHttpResponseMessage();
                });
        }
コード例 #14
0
ファイル: ChannelTests.cs プロジェクト: nuxleus/WCFWeb
        private void SendResponse(RequestContext context)
        {
            Assert.IsNotNull(context);

            // Validate request
            var request = context.RequestMessage;
            Assert.IsNotNull(request);
            var httpRequest = request.ToHttpRequestMessage();
            Assert.IsNotNull(httpRequest);

            // Create response
            var httpResponse = new HttpResponseMessage(HttpStatusCode.OK, BasicChannelTests.ChannelHttpReasonPhrase);
            Assert.IsNotNull(httpResponse);
            TestServiceCommon.CopyTestHeader(httpRequest, httpResponse);

            // Send response
            var response = httpResponse.ToMessage();
            Assert.IsNotNull(response);
            context.Reply(response);
        }