Mercurial > pub > bltoolkit
view Source/ServiceModel/ServiceModelDataContext.cs @ 9:1e85f66cf767 default tip
update bltoolkit
author | nickolay |
---|---|
date | Thu, 05 Apr 2018 20:53:26 +0300 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.ServiceModel; using System.ServiceModel.Channels; using JetBrains.Annotations; namespace BLToolkit.ServiceModel { using Data.Linq; using NotNullAttribute = NotNullAttribute; public class ServiceModelDataContext : RemoteDataContextBase { #region Init ServiceModelDataContext() { } public ServiceModelDataContext([NotNull] string endpointConfigurationName) : this() { if (endpointConfigurationName == null) throw new ArgumentNullException("endpointConfigurationName"); _endpointConfigurationName = endpointConfigurationName; } public ServiceModelDataContext([NotNull] string endpointConfigurationName, [NotNull] string remoteAddress) : this() { if (endpointConfigurationName == null) throw new ArgumentNullException("endpointConfigurationName"); if (remoteAddress == null) throw new ArgumentNullException("remoteAddress"); _endpointConfigurationName = endpointConfigurationName; _remoteAddress = remoteAddress; } public ServiceModelDataContext([NotNull] string endpointConfigurationName, [NotNull] EndpointAddress endpointAddress) : this() { if (endpointConfigurationName == null) throw new ArgumentNullException("endpointConfigurationName"); if (endpointAddress == null) throw new ArgumentNullException("endpointAddress"); _endpointConfigurationName = endpointConfigurationName; _endpointAddress = endpointAddress; } public ServiceModelDataContext([NotNull] Binding binding, [NotNull] EndpointAddress endpointAddress) : this() { if (binding == null) throw new ArgumentNullException("binding"); if (endpointAddress == null) throw new ArgumentNullException("endpointAddress"); Binding = binding; _endpointAddress = endpointAddress; } string _endpointConfigurationName; string _remoteAddress; EndpointAddress _endpointAddress; public Binding Binding { get; private set; } #endregion #region Overrides protected override ILinqService GetClient() { if (Binding != null) return new LinqServiceClient(Binding, _endpointAddress); if (_endpointAddress != null) return new LinqServiceClient(_endpointConfigurationName, _endpointAddress); if (_remoteAddress != null) return new LinqServiceClient(_endpointConfigurationName, _remoteAddress); return new LinqServiceClient(_endpointConfigurationName); } protected override IDataContext Clone() { return new ServiceModelDataContext { MappingSchema = MappingSchema, Binding = Binding, _endpointConfigurationName = _endpointConfigurationName, _remoteAddress = _remoteAddress, _endpointAddress = _endpointAddress, }; } protected override string ContextIDPrefix { get { return "LinqService_"; } } #endregion } }