예제 #1
0
        private void PublishService()
        {
            if (ServiceManager == null)
            {
                ServiceManager = ResolveServiceManager(_managerDescriptor);
                if (!ServiceManager.AuthenticateClient(_clientID, _secretKey))
                {
                    throw new SecurityException($"{_clientID} fail to authenticate.");
                }
            }

            if (!ServiceManager.ServiceExists(ServiceName))
            {
                _serviceToken = ServiceManager.AddService(Descriptor);
                if (string.IsNullOrEmpty(_serviceToken))
                {
                    throw new SecurityException($"{ServiceName} fail to publish, access right required.");
                }
                System.Diagnostics.Debug.WriteLine($"succeed publishing {ServiceName}");
            }
            else
            {
                throw new SecurityException($"{ServiceName} fail to authenticate, service already exists");
            }
        }
예제 #2
0
 public string AddService(ServiceDescriptor descriptor)
 {
     if (Authenticated)
     {
         return(_manager.AddService(_clientID, descriptor));
     }
     else
     {
         return("");
     }
 }