586 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			586 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C#
		
	
	
	
| //------------------------------------------------------------------------------
 | |
| // <auto-generated>
 | |
| //     此代码由工具生成。
 | |
| //     运行时版本:2.0.50727.8806
 | |
| //
 | |
| //     对此文件的更改可能会导致不正确的行为,并且如果
 | |
| //     重新生成代码,这些更改将会丢失。
 | |
| // </auto-generated>
 | |
| //------------------------------------------------------------------------------
 | |
| 
 | |
| namespace Microsoft.Tools.ServiceModel
 | |
| {
 | |
|     
 | |
|     
 | |
|     [System.Diagnostics.DebuggerStepThroughAttribute()]
 | |
|     [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.NetCFSvcUtil", "3.5.0.0")]
 | |
|     public class CFClientBase<TChannel>
 | |
|         where TChannel :  class
 | |
|     {
 | |
|         
 | |
|         private System.ServiceModel.Channels.Binding binding;
 | |
|         
 | |
|         private System.ServiceModel.Channels.CustomBinding oneWayBinding;
 | |
|         
 | |
|         private System.ServiceModel.Channels.IChannelFactory<System.ServiceModel.Channels.IRequestChannel> _requestChannelFactory;
 | |
|         
 | |
|         private System.ServiceModel.Channels.IChannelFactory<System.ServiceModel.Channels.IOutputChannel> _outputChannelFactory;
 | |
|         
 | |
|         private System.ServiceModel.Description.ClientCredentials _clientCredentials;
 | |
|         
 | |
|         private System.ServiceModel.EndpointAddress remoteAddress;
 | |
|         
 | |
|         private System.ServiceModel.Channels.BindingParameterCollection _parameters;
 | |
|         
 | |
|         private object requestChannelFactorySyncObject;
 | |
|         
 | |
|         private object outputChannelFactorySyncObject;
 | |
|         
 | |
|         private System.Collections.Generic.Dictionary<CFContractSerializerInfo, System.Runtime.Serialization.XmlObjectSerializer> serializers = new System.Collections.Generic.Dictionary<CFContractSerializerInfo, System.Runtime.Serialization.XmlObjectSerializer>(2);
 | |
|         
 | |
|         public CFClientBase(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress)
 | |
|         {
 | |
|             if ((binding == null))
 | |
|             {
 | |
|                 throw new System.ArgumentNullException("binding");
 | |
|             }
 | |
|             if ((remoteAddress == null))
 | |
|             {
 | |
|                 throw new System.ArgumentNullException("remoteAddress");
 | |
|             }
 | |
|             this.remoteAddress = remoteAddress;
 | |
|             this.binding = binding;
 | |
|             this._clientCredentials = new System.ServiceModel.Description.ClientCredentials();
 | |
|             this._parameters = new System.ServiceModel.Channels.BindingParameterCollection();
 | |
|             this._parameters.Add(this._clientCredentials);
 | |
|             this.outputChannelFactorySyncObject = new object();
 | |
|             this.requestChannelFactorySyncObject = new object();
 | |
|         }
 | |
|         
 | |
|         public System.ServiceModel.Description.ClientCredentials ClientCredentials
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return this._clientCredentials;
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         protected System.ServiceModel.Channels.BindingParameterCollection Parameters
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return this._parameters;
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         private System.ServiceModel.Channels.IChannelFactory<System.ServiceModel.Channels.IOutputChannel> OutputChannelFactory
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 if ((this._outputChannelFactory == null))
 | |
|                 {
 | |
|                     System.Threading.Monitor.Enter(this.outputChannelFactorySyncObject);
 | |
|                     try
 | |
|                     {
 | |
|                         if ((this._outputChannelFactory == null))
 | |
|                         {
 | |
|                             if ((this.oneWayBinding == null))
 | |
|                             {
 | |
|                                 this.oneWayBinding = new System.ServiceModel.Channels.CustomBinding(this.binding);
 | |
|                             }
 | |
|                             if (this.oneWayBinding.CanBuildChannelFactory<System.ServiceModel.Channels.IOutputChannel>(this.Parameters))
 | |
|                             {
 | |
|                                 this._outputChannelFactory = this.oneWayBinding.BuildChannelFactory<System.ServiceModel.Channels.IOutputChannel>(this.Parameters);
 | |
|                                 this._outputChannelFactory.Open();
 | |
|                             }
 | |
|                         }
 | |
|                     }
 | |
|                     finally
 | |
|                     {
 | |
|                         System.Threading.Monitor.Exit(this.outputChannelFactorySyncObject);
 | |
|                     }
 | |
|                 }
 | |
|                 return this._outputChannelFactory;
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         private System.ServiceModel.Channels.IChannelFactory<System.ServiceModel.Channels.IRequestChannel> RequestChannelFactory
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 if ((this._requestChannelFactory == null))
 | |
|                 {
 | |
|                     System.Threading.Monitor.Enter(this.requestChannelFactorySyncObject);
 | |
|                     try
 | |
|                     {
 | |
|                         if ((this._requestChannelFactory == null))
 | |
|                         {
 | |
|                             if (this.binding.CanBuildChannelFactory<System.ServiceModel.Channels.IRequestChannel>(this.Parameters))
 | |
|                             {
 | |
|                                 this._requestChannelFactory = this.binding.BuildChannelFactory<System.ServiceModel.Channels.IRequestChannel>(this.Parameters);
 | |
|                                 this._requestChannelFactory.Open();
 | |
|                             }
 | |
|                         }
 | |
|                     }
 | |
|                     finally
 | |
|                     {
 | |
|                         System.Threading.Monitor.Exit(this.requestChannelFactorySyncObject);
 | |
|                     }
 | |
|                 }
 | |
|                 return this._requestChannelFactory;
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         protected static void ApplyProtection(string action, System.ServiceModel.Security.ScopedMessagePartSpecification parts, bool protection)
 | |
|         {
 | |
|             System.ServiceModel.Security.MessagePartSpecification partSpec;
 | |
|             if (protection)
 | |
|             {
 | |
|                 partSpec = new System.ServiceModel.Security.MessagePartSpecification(true);
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 partSpec = System.ServiceModel.Security.MessagePartSpecification.NoParts;
 | |
|             }
 | |
|             parts.AddParts(partSpec, action);
 | |
|         }
 | |
|         
 | |
|         protected static bool IsSecureMessageBinding(System.ServiceModel.Channels.Binding binding)
 | |
|         {
 | |
|             if (typeof(System.ServiceModel.BasicHttpBinding).IsInstanceOfType(binding))
 | |
|             {
 | |
|                 return false;
 | |
|             }
 | |
|             if (typeof(System.ServiceModel.Channels.CustomBinding).IsInstanceOfType(binding))
 | |
|             {
 | |
|                 return ((System.ServiceModel.Channels.CustomBinding)(binding)).Elements.Contains(typeof(System.ServiceModel.Channels.AsymmetricSecurityBindingElement));
 | |
|             }
 | |
|             throw new System.NotSupportedException("Unsupported binding type.");
 | |
|         }
 | |
|         
 | |
|         protected void Close()
 | |
|         {
 | |
|             if ((this.RequestChannelFactory != null))
 | |
|             {
 | |
|                 System.Threading.Monitor.Enter(this.RequestChannelFactory);
 | |
|                 try
 | |
|                 {
 | |
|                     this.RequestChannelFactory.Close();
 | |
|                 }
 | |
|                 finally
 | |
|                 {
 | |
|                     System.Threading.Monitor.Exit(this.RequestChannelFactory);
 | |
|                 }
 | |
|             }
 | |
|             if ((this.OutputChannelFactory != null))
 | |
|             {
 | |
|                 System.Threading.Monitor.Enter(this.OutputChannelFactory);
 | |
|                 try
 | |
|                 {
 | |
|                     this.OutputChannelFactory.Close();
 | |
|                 }
 | |
|                 finally
 | |
|                 {
 | |
|                     System.Threading.Monitor.Exit(this.OutputChannelFactory);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         protected TRESPONSE Invoke<TREQUEST, TRESPONSE>(CFInvokeInfo info, TREQUEST request)
 | |
|         
 | |
|         
 | |
|         {
 | |
|             CFContractSerializerInfo serializerInfo = new CFContractSerializerInfo();
 | |
|             serializerInfo.MessageContractType = typeof(TREQUEST);
 | |
|             serializerInfo.IsWrapped = info.RequestIsWrapped;
 | |
|             serializerInfo.ExtraTypes = info.ExtraTypes;
 | |
|             serializerInfo.UseEncoded = info.UseEncoded;
 | |
|             System.ServiceModel.Channels.Message msg = System.ServiceModel.Channels.Message.CreateMessage(this.binding.MessageVersion, info.Action, request, GetContractSerializer(serializerInfo));
 | |
|             return this.getResult<TRESPONSE>(this.getReply(msg), info);
 | |
|         }
 | |
|         
 | |
|         protected void Invoke<TREQUEST>(CFInvokeInfo info, TREQUEST request)
 | |
|         
 | |
|         {
 | |
|             CFContractSerializerInfo serializerInfo = new CFContractSerializerInfo();
 | |
|             serializerInfo.MessageContractType = typeof(TREQUEST);
 | |
|             serializerInfo.IsWrapped = info.RequestIsWrapped;
 | |
|             serializerInfo.ExtraTypes = info.ExtraTypes;
 | |
|             serializerInfo.UseEncoded = info.UseEncoded;
 | |
|             System.ServiceModel.Channels.Message msg = System.ServiceModel.Channels.Message.CreateMessage(this.binding.MessageVersion, info.Action, request, GetContractSerializer(serializerInfo));
 | |
|             if (info.IsOneWay)
 | |
|             {
 | |
|                 if ((this._outputChannelFactory != null))
 | |
|                 {
 | |
|                     this.postOneWayMessage(msg);
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     this.getReply(msg);
 | |
|                 }
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 this.processReply(this.getReply(msg));
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         private void postOneWayMessage(System.ServiceModel.Channels.Message msg)
 | |
|         {
 | |
|             if ((this.OutputChannelFactory == null))
 | |
|             {
 | |
|                 // transport doesn't support one-way messages
 | |
|                 throw new System.NotSupportedException();
 | |
|             }
 | |
|             System.ServiceModel.Channels.IOutputChannel outputChannel;
 | |
|             System.Threading.Monitor.Enter(this.OutputChannelFactory);
 | |
|             try
 | |
|             {
 | |
|                 outputChannel = this.OutputChannelFactory.CreateChannel(this.remoteAddress);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 System.Threading.Monitor.Exit(this.OutputChannelFactory);
 | |
|             }
 | |
|             outputChannel.Open();
 | |
|             try
 | |
|             {
 | |
|                 outputChannel.Send(msg);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 outputChannel.Close();
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         private System.ServiceModel.Channels.Message getReply(System.ServiceModel.Channels.Message msg)
 | |
|         {
 | |
|             if ((this.RequestChannelFactory == null))
 | |
|             {
 | |
|                 // transport doesn't support requests
 | |
|                 throw new System.NotSupportedException();
 | |
|             }
 | |
|             System.ServiceModel.Channels.IRequestChannel requestChannel;
 | |
|             System.Threading.Monitor.Enter(this.RequestChannelFactory);
 | |
|             try
 | |
|             {
 | |
|                 requestChannel = this.RequestChannelFactory.CreateChannel(this.remoteAddress);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 System.Threading.Monitor.Exit(this.RequestChannelFactory);
 | |
|             }
 | |
|             requestChannel.Open();
 | |
|             try
 | |
|             {
 | |
|                 return requestChannel.Request(msg);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 if ((requestChannel.State == System.ServiceModel.CommunicationState.Opened))
 | |
|                 {
 | |
|                     requestChannel.Close();
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         private void processReply(System.ServiceModel.Channels.Message reply)
 | |
|         {
 | |
|             System.Diagnostics.Debug.Assert((reply != null));
 | |
|             if (reply.IsFault)
 | |
|             {
 | |
|                 System.Xml.XmlDictionaryReader reader = reply.GetReaderAtBodyContents();
 | |
|                 try
 | |
|                 {
 | |
|                     throw new CFFaultException(reader.ReadOuterXml());
 | |
|                 }
 | |
|                 finally
 | |
|                 {
 | |
|                     reader.Close();
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         protected virtual System.Runtime.Serialization.XmlObjectSerializer GetContractSerializer(CFContractSerializerInfo info)
 | |
|         {
 | |
|             System.Runtime.Serialization.XmlObjectSerializer serializer;
 | |
|             System.Threading.Monitor.Enter(this.serializers);
 | |
|             try
 | |
|             {
 | |
|                 if (serializers.ContainsKey(info))
 | |
|                 {
 | |
|                     serializer = this.serializers[info];
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     serializer = new CFContractSerializer(info);
 | |
|                     serializers[info] = serializer;
 | |
|                 }
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 System.Threading.Monitor.Exit(this.serializers);
 | |
|             }
 | |
|             return serializer;
 | |
|         }
 | |
|         
 | |
|         private TRESPONSE getResult<TRESPONSE>(System.ServiceModel.Channels.Message reply, CFInvokeInfo info)
 | |
|         
 | |
|         {
 | |
|             System.Diagnostics.Debug.Assert((reply != null));
 | |
|             this.processReply(reply);
 | |
|             TRESPONSE retVal = default(TRESPONSE);
 | |
|             if ((reply.IsEmpty == false))
 | |
|             {
 | |
|                 CFContractSerializerInfo serializerInfo = new CFContractSerializerInfo();
 | |
|                 serializerInfo.MessageContractType = typeof(TRESPONSE);
 | |
|                 serializerInfo.IsWrapped = info.ResponseIsWrapped;
 | |
|                 serializerInfo.IsResponse = true;
 | |
|                 serializerInfo.ExtraTypes = info.ExtraTypes;
 | |
|                 serializerInfo.UseEncoded = info.UseEncoded;
 | |
|                 retVal = reply.GetBody<TRESPONSE>(this.GetContractSerializer(serializerInfo));
 | |
|             }
 | |
|             return retVal;
 | |
|         }
 | |
|         
 | |
|         [System.Diagnostics.DebuggerStepThroughAttribute()]
 | |
|         [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.NetCFSvcUtil", "3.5.0.0")]
 | |
|         private class CFContractSerializer : System.Runtime.Serialization.XmlObjectSerializer
 | |
|         {
 | |
|             
 | |
|             private CFContractSerializerInfo info;
 | |
|             
 | |
|             private System.Xml.Serialization.XmlSerializer serializer;
 | |
|             
 | |
|             private static System.Xml.XmlQualifiedName artificialWrapper = new System.Xml.XmlQualifiedName("wrapper", "");
 | |
|             
 | |
|             public CFContractSerializer(CFContractSerializerInfo info)
 | |
|             {
 | |
|                 this.info = info;
 | |
|                 if ((this.info.ExtraTypes == null))
 | |
|                 {
 | |
|                     this.info.ExtraTypes = new System.Type[0];
 | |
|                 }
 | |
|                 this.createSerializer(null);
 | |
|             }
 | |
|             
 | |
|             private void createSerializer(System.Xml.XmlQualifiedName wrapper)
 | |
|             {
 | |
|                 if ((wrapper == null))
 | |
|                 {
 | |
|                     if (((this.info.IsWrapped == false) 
 | |
|                                 && this.info.IsResponse))
 | |
|                     {
 | |
|                         wrapper = artificialWrapper;
 | |
|                     }
 | |
|                 }
 | |
|                 if (this.info.UseEncoded)
 | |
|                 {
 | |
|                     System.Xml.Serialization.SoapAttributeOverrides overrides = new System.Xml.Serialization.SoapAttributeOverrides();
 | |
|                     if ((wrapper != null))
 | |
|                     {
 | |
|                         System.Xml.Serialization.SoapAttributes attributes = new System.Xml.Serialization.SoapAttributes();
 | |
|                         attributes.SoapType = new System.Xml.Serialization.SoapTypeAttribute(wrapper.Name, wrapper.Namespace);
 | |
|                         overrides.Add(this.info.MessageContractType, attributes);
 | |
|                     }
 | |
|                     System.Xml.Serialization.SoapReflectionImporter soapImporter = new System.Xml.Serialization.SoapReflectionImporter(overrides, this.info.DefaultNamespace);
 | |
|                     for (int i = 0; (i < this.info.ExtraTypes.Length); i = (i + 1))
 | |
|                     {
 | |
|                         soapImporter.IncludeType(this.info.ExtraTypes[i]);
 | |
|                     }
 | |
|                     System.Xml.Serialization.XmlTypeMapping mapping = soapImporter.ImportTypeMapping(this.info.MessageContractType);
 | |
|                     this.serializer = new System.Xml.Serialization.XmlSerializer(mapping);
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     System.Xml.Serialization.XmlRootAttribute rootAttr = null;
 | |
|                     if ((wrapper != null))
 | |
|                     {
 | |
|                         rootAttr = new System.Xml.Serialization.XmlRootAttribute();
 | |
|                         rootAttr.ElementName = wrapper.Name;
 | |
|                         rootAttr.Namespace = wrapper.Namespace;
 | |
|                     }
 | |
|                     this.serializer = new System.Xml.Serialization.XmlSerializer(this.info.MessageContractType, null, this.info.ExtraTypes, rootAttr, this.info.DefaultNamespace);
 | |
|                 }
 | |
|             }
 | |
|             
 | |
|             public override bool IsStartObject(System.Xml.XmlDictionaryReader reader)
 | |
|             {
 | |
|                 throw new System.NotImplementedException();
 | |
|             }
 | |
|             
 | |
|             public override object ReadObject(System.Xml.XmlDictionaryReader reader, bool verifyObjectName)
 | |
|             {
 | |
|                 if ((verifyObjectName == false))
 | |
|                 {
 | |
|                     throw new System.NotSupportedException();
 | |
|                 }
 | |
|                 if (this.info.IsWrapped)
 | |
|                 {
 | |
|                     // Some WSDLs incorrectly advertise their response message namespaces.
 | |
|                     // Attempt to interop with these by coercing our expected namespace to match.
 | |
|                     if ((this.serializer.CanDeserialize(reader) == false))
 | |
|                     {
 | |
|                         this.createSerializer(new System.Xml.XmlQualifiedName(System.Xml.XmlConvert.DecodeName(reader.LocalName), reader.NamespaceURI));
 | |
|                     }
 | |
|                     return this.serializer.Deserialize(reader);
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     System.IO.MemoryStream ms = new System.IO.MemoryStream();
 | |
|                     System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
 | |
|                     settings.OmitXmlDeclaration = true;
 | |
|                     System.Xml.XmlWriter innerWriter = System.Xml.XmlDictionaryWriter.Create(ms, settings);
 | |
|                     innerWriter.WriteStartElement(artificialWrapper.Name, artificialWrapper.Namespace);
 | |
|                     string[] commonPrefixes = new string[] {
 | |
|                             "xsi",
 | |
|                             "xsd"};
 | |
|                     for (int i = 0; (i < commonPrefixes.Length); i = (i + 1))
 | |
|                     {
 | |
|                         string ns = reader.LookupNamespace(commonPrefixes[i]);
 | |
|                         if ((ns != null))
 | |
|                         {
 | |
|                             innerWriter.WriteAttributeString("xmlns", commonPrefixes[i], null, ns);
 | |
|                         }
 | |
|                     }
 | |
|                     for (
 | |
|                     ; ((reader.NodeType == System.Xml.XmlNodeType.EndElement) 
 | |
|                                 == false); 
 | |
|                     )
 | |
|                     {
 | |
|                         innerWriter.WriteNode(reader, false);
 | |
|                     }
 | |
|                     innerWriter.WriteEndElement();
 | |
|                     innerWriter.Close();
 | |
|                     ms.Position = 0;
 | |
|                     System.Xml.XmlReader innerReader = System.Xml.XmlDictionaryReader.Create(ms);
 | |
|                     return this.serializer.Deserialize(innerReader);
 | |
|                 }
 | |
|             }
 | |
|             
 | |
|             public override void WriteStartObject(System.Xml.XmlDictionaryWriter writer, object graph)
 | |
|             {
 | |
|                 throw new System.NotImplementedException();
 | |
|             }
 | |
|             
 | |
|             public override void WriteObjectContent(System.Xml.XmlDictionaryWriter writer, object graph)
 | |
|             {
 | |
|                 throw new System.NotImplementedException();
 | |
|             }
 | |
|             
 | |
|             public override void WriteEndObject(System.Xml.XmlDictionaryWriter writer)
 | |
|             {
 | |
|                 throw new System.NotImplementedException();
 | |
|             }
 | |
|             
 | |
|             public override void WriteObject(System.Xml.XmlDictionaryWriter writer, object graph)
 | |
|             {
 | |
|                 if (this.info.IsWrapped)
 | |
|                 {
 | |
|                     this.serializer.Serialize(writer, graph);
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     System.IO.MemoryStream ms = new System.IO.MemoryStream();
 | |
|                     System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
 | |
|                     settings.OmitXmlDeclaration = true;
 | |
|                     System.Xml.XmlWriter innerWriter = System.Xml.XmlDictionaryWriter.Create(ms, settings);
 | |
|                     this.serializer.Serialize(innerWriter, graph);
 | |
|                     innerWriter.Close();
 | |
|                     ms.Position = 0;
 | |
|                     System.Xml.XmlReader innerReader = System.Xml.XmlDictionaryReader.Create(ms);
 | |
|                     innerReader.Read();
 | |
|                     writer.WriteAttributes(innerReader, false);
 | |
|                     if ((innerReader.IsEmptyElement == false))
 | |
|                     {
 | |
|                         innerReader.Read();
 | |
|                         for (
 | |
|                         ; ((innerReader.NodeType == System.Xml.XmlNodeType.EndElement) 
 | |
|                                     == false); 
 | |
|                         )
 | |
|                         {
 | |
|                             writer.WriteNode(innerReader, false);
 | |
|                         }
 | |
|                     }
 | |
|                     innerReader.Close();
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         protected struct CFContractSerializerInfo
 | |
|         {
 | |
|             
 | |
|             public System.Type MessageContractType;
 | |
|             
 | |
|             public bool IsWrapped;
 | |
|             
 | |
|             public bool IsResponse;
 | |
|             
 | |
|             public System.Type[] ExtraTypes;
 | |
|             
 | |
|             public string DefaultNamespace;
 | |
|             
 | |
|             public bool UseEncoded;
 | |
|         }
 | |
|         
 | |
|         protected class CFInvokeInfo
 | |
|         {
 | |
|             
 | |
|             public string Action;
 | |
|             
 | |
|             public string ReplyAction;
 | |
|             
 | |
|             public bool IsOneWay;
 | |
|             
 | |
|             public bool RequestIsWrapped;
 | |
|             
 | |
|             public bool ResponseIsWrapped;
 | |
|             
 | |
|             public System.Type[] ExtraTypes;
 | |
|             
 | |
|             public bool UseEncoded;
 | |
|             
 | |
|             public override bool Equals(object obj)
 | |
|             {
 | |
|                 if (((obj != null) 
 | |
|                             && (obj.GetType() == typeof(CFInvokeInfo))))
 | |
|                 {
 | |
|                     return (this.Action == ((CFInvokeInfo)(obj)).Action);
 | |
|                 }
 | |
|                 return false;
 | |
|             }
 | |
|             
 | |
|             public override int GetHashCode()
 | |
|             {
 | |
|                 if ((this.Action != null))
 | |
|                 {
 | |
|                     return this.Action.GetHashCode();
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     return base.GetHashCode();
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
|     
 | |
|     public class CFFaultException : System.ServiceModel.CommunicationException
 | |
|     {
 | |
|         
 | |
|         private string _faultMessage;
 | |
|         
 | |
|         public CFFaultException(string faultMessage)
 | |
|         {
 | |
|             this._faultMessage = faultMessage;
 | |
|         }
 | |
|         
 | |
|         public string FaultMessage
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return this._faultMessage;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |