protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses) { // Initialize Automapper AutomapBootstrap.InitializeMap(); var host = new ServiceHost(serviceType, baseAddresses); return(host); }
public ServerSideMultithreadBuilder(Guid loaderId, Action finishAction , Action <string> onCriticalError, CancellationToken cancellationToken , Func <object> buildAction) { _finishAction = finishAction; _onCriticalError = onCriticalError; LoaderId = loaderId; _cancellationToken = cancellationToken; CompressedProtoResult = new ConcurrentStack <MemoryStream>(); AutomapBootstrap.InitializeMap(); Task.Factory.StartNew(() => { try { var compressed = buildAction() as MemoryStream; if (compressed == null || !compressed.CanRead) { return; } var lenght = compressed.Length; //Делим готовый отчет на равные партии, ждем запросов партий от клиента foreach (var range in Partitioner.Create(0, lenght, packetSize).GetDynamicPartitions()) { var bufferResult = new byte[range.Item2 - range.Item1]; compressed.Read(bufferResult, 0, (int)(range.Item2 - range.Item1)); CompressedProtoResult.Push(new MemoryStream(bufferResult)); } } catch (Exception ex) { if (_onCriticalError != null) { _onCriticalError(ex.Message); } } finally { try { if (_finishAction != null) { _finishAction(); } } catch { } _finishAction = null; } }, _cancellationToken, TaskCreationOptions.LongRunning, TaskScheduler.Default); }
public void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, Collection <ServiceEndpoint> endpoints, BindingParameterCollection bindingParameters) { if (_initialised) // already init'd per this AppDomain { return; } AutomapBootstrap.InitializeMap(); _initialised = true; }
public void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, Collection <ServiceEndpoint> endpoints, BindingParameterCollection bindingParameters) { AutomapBootstrap.InitializeMap(); }