自定义的一个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