Beispiel #1
0
        public WSServer(CargoHostEndPoint cargoHost, string alias, string uri, string allowedIPs, string profileDir, bool enableArchiveDecision) :
            base()
        {
            m_Shutdown              = false;
            m_CargoHostEndPoint     = cargoHost;
            m_ProfilesFolder        = profileDir;
            m_Alias                 = alias;
            m_EnableArchiveDecision = enableArchiveDecision;

            m_ClientListLock          = new object();
            m_CaseListLock            = new object();
            _workstationLoadListLock  = new object();
            _updateCaseAssignmentLock = new object();

            m_HostConnThread   = new Thread(new ThreadStart(HostConnState));
            m_ClientConnThread = new Thread(new ThreadStart(ClientConnState));

            m_NetworkHost = new NetworkHost(this, new Uri(uri), alias, allowedIPs);
            m_NetworkHost.SendTimeoutMin    = int.Parse(ConfigurationManager.AppSettings["WcfTcpBindingSendTimeoutMin"]);
            m_NetworkHost.ReceiveTimeoutMin = int.Parse(ConfigurationManager.AppSettings["WcfTcpBindingReceiveTimeoutMin"]);
            m_Callbacks = new WSServerCallbacks();

            m_ManualCodingCallback = new ManualCodingCallback_Impl(this);
            m_AnalystCallback      = new AnalystCallback_Impl(this);
            m_CaseChangeCallback   = new CaseChangeCallback_Impl(this);

            _workstationLoadBalanceList = new List <LoadBalanceInfo>();

            _loadBalanceCheckTimer = new Timer(new TimerCallback(LoadBalanceCheckTimerCallback), null, Timeout.Infinite, Timeout.Infinite);
            _loadBalanceTimerSet   = false;
            _loadBalanceTimerSelectedWorkstation = string.Empty;

            base.Subscribe(base.caseList);
            base.caseList.StartUpdate = true;
        }
Beispiel #2
0
        public WSServer(CargoHostEndPoint cargoHost, string alias, string uri, string allowedIPs, string profileDir, bool enableArchiveDecision) : 
            base()
        {
            m_Shutdown = false;
            m_CargoHostEndPoint = cargoHost;
            m_ProfilesFolder = profileDir;
            m_Alias = alias;
            m_EnableArchiveDecision = enableArchiveDecision;

            m_ClientListLock = new object();
            m_CaseListLock = new object();
            _workstationLoadListLock = new object();
            _updateCaseAssignmentLock = new object();

            m_HostConnThread = new Thread(new ThreadStart(HostConnState));
            m_ClientConnThread = new Thread(new ThreadStart(ClientConnState));

            m_NetworkHost = new NetworkHost(this, new Uri(uri), alias, allowedIPs);
            m_NetworkHost.SendTimeoutMin = int.Parse(ConfigurationManager.AppSettings["WcfTcpBindingSendTimeoutMin"]);
            m_NetworkHost.ReceiveTimeoutMin = int.Parse(ConfigurationManager.AppSettings["WcfTcpBindingReceiveTimeoutMin"]);
            m_Callbacks = new WSServerCallbacks();

            m_ManualCodingCallback = new ManualCodingCallback_Impl(this);
            m_AnalystCallback = new AnalystCallback_Impl(this);
            m_CaseChangeCallback = new CaseChangeCallback_Impl(this);

            _workstationLoadBalanceList = new List<LoadBalanceInfo>();

            _loadBalanceCheckTimer = new Timer(new TimerCallback(LoadBalanceCheckTimerCallback), null, Timeout.Infinite, Timeout.Infinite);
            _loadBalanceTimerSet = false;
            _loadBalanceTimerSelectedWorkstation = string.Empty;

            base.Subscribe(base.caseList);
            base.caseList.StartUpdate = true;
        }