Example #1
0
 /// <summary>
 /// Konstruktor.
 /// </summary>
 /// <param name="name">Name des Komponentenhosts</param>
 /// <param name="tcpPort">TCP-Anschlussnummer</param>
 /// <param name="catalog">Komponenten-Katalog</param>
 public ZyanComponentHost(string name, int tcpPort, ComponentCatalog catalog)
     : this(name, new TcpBinaryServerProtocolSetup(tcpPort), new InProcSessionManager(), catalog)
 {
 }
Example #2
0
 /// <summary>
 /// Konstruktor.
 /// </summary>
 /// <param name="name">Name des Komponentenhosts</param>
 /// <param name="protocolSetup">Protokoll-Einstellungen</param>
 /// <param name="catalog">Komponenten-Katalog</param>
 public ZyanComponentHost(string name, IServerProtocolSetup protocolSetup, ComponentCatalog catalog)
     : this(name, protocolSetup, new InProcSessionManager(), catalog)
 {
 }
Example #3
0
        /// <summary>
        /// Konstruktor.
        /// </summary>
        /// <param name="name">Name des Komponentenhosts</param>
        /// <param name="protocolSetup">Protokoll-Einstellungen</param>
        /// <param name="sessionManager">Sitzungsverwaltung</param>
        /// <param name="catalog">Komponenten-Katalog</param>
        public ZyanComponentHost(string name, IServerProtocolSetup protocolSetup, ISessionManager sessionManager, ComponentCatalog catalog)
        {
            // Wenn kein Name angegeben wurde ...
            if (string.IsNullOrEmpty(name))
            {
                // Ausnahme werfen
                throw new ArgumentException(LanguageResource.ArgumentException_ComponentHostNameMissing, "name");
            }

            // Wenn keine Protokoll-Einstellungen angegeben wurde ...
            if (protocolSetup == null)
            {
                // Ausnahme werfen
                throw new ArgumentNullException("protocolSetup");
            }

            // Wenn keine Sitzungsverwaltung übergeben wurde ...
            if (sessionManager == null)
            {
                // Ausnahme werfen
                throw new ArgumentNullException("sessionManager");
            }

            // Wenn kein Komponenten-Katalog angegeben wurde ...
            if (catalog == null)
            {
                // Ausnahme werfen
                throw new ArgumentNullException("catalog");
            }

            // Werte übernehmen
            _name           = name;
            _protocolSetup  = protocolSetup;
            _sessionManager = sessionManager;
            _catalog        = catalog;

            // Komponentenaufrufer erzeugen
            _invoker = new ZyanDispatcher(this);

            // Authentifizierungsanbieter übernehmen und verdrahten
            _authProvider     = protocolSetup.AuthenticationProvider;
            this.Authenticate = _authProvider.Authenticate;

            // Komponenten Host der Host-Auflistung zufügen
            _hosts.Add(this);

            // Beginnen auf Client-Anfragen zu horchen
            StartListening();
        }