zoukankan      html  css  js  c++  java
  • 自定义的一个Behavior: 从Debug输出看到来回的Messages

    就两个class, 好用又方便~

    MyMessageInspector

    using System;

    using System.Xml;

    using System.IO;

    using System.ServiceModel;

    using System.ServiceModel.Channels;

    using System.ServiceModel.Dispatcher;

     

    namespace WCFExtentions

    {

        public class MyMessageInspector : IDispatchMessageInspector

        {

            public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)

            {

                System.Diagnostics.Debug.WriteLine(request.ToString());

                return null;

            }

     

            public void BeforeSendReply(ref Message reply, object correlationState)

            {

                System.Diagnostics.Debug.WriteLine(reply.ToString());

            }

        }

    }


    MyMessageInspectionBehaviorAttribute

    using System;

    using System.ServiceModel;

    using System.Collections.ObjectModel;

    using System.ServiceModel.Channels;

    using System.ServiceModel.Description;

    using System.ServiceModel.Dispatcher;

     

    namespace WCFExtentions

    {

        [AttributeUsage(AttributeTargets.Class)]

        public class MyMessageInspectionBehaviorAttribute : Attribute, IServiceBehavior  

        {

            #region IServiceBehavior Members

     

            public void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, Collection<ServiceEndpoint> endpoints, BindingParameterCollection bindingParameters)

            {     

            }

     

            public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)

            {

                foreach (ChannelDispatcher channelDispatch in serviceHostBase.ChannelDispatchers)

                {

                    foreach (EndpointDispatcher endpointDispatch in channelDispatch.Endpoints)

                    {

                        endpointDispatch.DispatchRuntime.MessageInspectors.Add(new MyMessageInspector());

                    }

                }

            }

     

            public void Validate(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)

            {

            }

     

            #endregion

        }

    }


    给服务的加上这个属性, 然后你就可以在调试的时候看到了:
     

    原文地址: http://blogs.msdn.com/kaevans/archive/2006/10/01/779886.aspx

  • 相关阅读:
    php-数据类型
    php常量
    php变量
    loadrunner11安装教程
    ThumbProcess.exe错误的解决方法
    jmeter 测试MD5加密登录接口
    jmeter 上传附件脚本报Non HTTP response code: java.io.FileNotFoundException
    jmeter中提取json串
    Jmeter 非 GUI 命令行执行脚本文件
    jmeter 报错Error in NonGUIDriver java.lang.IllegalArgumentException: Report generation requires csv output format, check 'jmeter.save.saveservice.output_format' property
  • 原文地址:https://www.cnblogs.com/Dah/p/520052.html
Copyright © 2011-2022 走看看