예제 #1
0
 public virtual void ValidateConfiguration(IIpcServerConfiguration configuration)
 {
     if (configuration.Security == null)
     {
         throw new IpcServerConfigurationException("Server must have security setup");
     }
 }
예제 #2
0
        private void InternalValidateConfiguration(IIpcServerConfiguration configuration)
        {
            if (string.IsNullOrEmpty(configuration.Name))
            {
                throw new IpcServerConfigurationException("Server must have a name set");
            }

            ValidateConfiguration(configuration);
        }
예제 #3
0
        public async Task <IIpcServer> CreateServerAsync(IIpcServerConfiguration configuration)
        {
            InternalValidateConfiguration(configuration);

            if (nameValidators != null)
            {
                ValidateServerName(configuration);
            }

            return(await CreateTypedServerAsync(configuration));
        }
예제 #4
0
 protected virtual void ValidateServerName(IIpcServerConfiguration configuration)
 {
     try
     {
         Parallel.ForEach(nameValidators, validator =>
         {
             validator.Validate(configuration.Name);
         });
     }
     catch (System.AggregateException ex)
     {
         throw new IpcServerNameInvalidException(configuration.Name, ex.InnerException);
     }
 }
 protected override async Task <IIpcServer> CreateTypedServerAsync(IIpcServerConfiguration configuration)
 {
     return(await internalFactory.CreateServerAsync(configuration));
 }
 public override void ValidateConfiguration(IIpcServerConfiguration configuration)
 {
     base.ValidateConfiguration(configuration);
 }
 internal IpcNamedPipeServer(IIpcServerConfiguration configuration)
 {
     Configuration = configuration;
 }
예제 #8
0
 protected override Task <IIpcServer> CreateTypedServerAsync(IIpcServerConfiguration configuration)
 {
     throw new System.NotImplementedException();
 }
예제 #9
0
 protected abstract Task <IIpcServer> CreateTypedServerAsync(IIpcServerConfiguration configuration);