diff Source/ServiceModel/LinqSoapServiceClient.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/ServiceModel/LinqSoapServiceClient.cs	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,75 @@
+using System;
+using System.ServiceModel;
+using System.ServiceModel.Channels;
+
+namespace BLToolkit.ServiceModel
+{
+	class LinqSoapServiceClient : ClientBase<ILinqSoapService>, ILinqService, IDisposable
+	{
+		#region Init
+
+		public LinqSoapServiceClient(string endpointConfigurationName)                                                                  : base(endpointConfigurationName) { }
+		public LinqSoapServiceClient(string endpointConfigurationName, string remoteAddress)                                            : base(endpointConfigurationName, remoteAddress) { }
+		public LinqSoapServiceClient(string endpointConfigurationName, EndpointAddress remoteAddress)                                   : base(endpointConfigurationName, remoteAddress) { }
+		public LinqSoapServiceClient(Binding binding, EndpointAddress remoteAddress)                                                    : base(binding, remoteAddress) { }
+
+		#endregion
+
+		#region ILinqService Members
+
+		public string GetSqlProviderType()
+		{
+			return Channel.GetSqlProviderType();
+		}
+
+		public int ExecuteNonQuery(string queryData)
+		{
+			return Channel.ExecuteNonQuery(queryData);
+		}
+
+		public object ExecuteScalar(string queryData)
+		{
+			return Channel.ExecuteScalar(queryData);
+		}
+
+		public string ExecuteReader(string queryData)
+		{
+			return Channel.ExecuteReader(queryData);
+		}
+
+		public int ExecuteBatch(string queryData)
+		{
+			return Channel.ExecuteBatch(queryData);
+		}
+
+		#endregion
+
+		#region IDisposable Members
+
+		void IDisposable.Dispose()
+		{
+			try
+			{
+				if (State != CommunicationState.Faulted)
+					((ICommunicationObject)this).Close();
+				else
+					Abort();
+			}
+			catch (CommunicationException)
+			{
+				Abort();
+			}
+			catch (TimeoutException)
+			{
+				Abort();
+			}
+			catch (Exception)
+			{
+				Abort();
+				throw;
+			}
+		}
+
+		#endregion
+	}
+}