static void OnDocumentServerRemoved(WorkSessionServerInfo server)
 {
     if (server.IsDocumentServer())
     {
         UnregisterServer(server.HostServerIP);
     }
 }
Ejemplo n.º 2
0
 private static void OnServerRemoved(WorkSessionServerInfo server)
 {
     if (server.RoleInstanceId == RoleEnvironment.CurrentRoleInstance.Id)
     {
         ShutDown();
     }
 }
 static void OnDocumentServerAdded(WorkSessionServerInfo server)
 {
     if (server.IsDocumentServer())
     {
         RegisterServer(server.HostServerIP);
     }
 }
Ejemplo n.º 4
0
        static void DoRequestRouting(HttpApplication application, string workSessionID)
        {
            RoutingTable.EnsureServerIsPrepared();

            WorkSessionServerInfo serverInfo = RoutingTable.GetWorkSessionServerInfoByWorkSessionID(workSessionID);

            if (serverInfo != null && serverInfo.Status != WorkSessionServerStatus.Online)
            {
                throw new Exception("WorkSession is not available");
            }

            if (serverInfo == null && !HeaderCookieHelper.HasServerAffinity(application, RoutingConfiguration.AffinityCookieName))
            {
                serverInfo = RoutingTable.FindAvailableServerForNewWorkSession();
            }

            if (serverInfo != null && RoutingConfiguration.UseCookie)
            {
                FarmConfigurationManager.AddServer(serverInfo.HostServerIP, 8080);
                string newCookieValue = ARRHashHelper.CalculateHash(serverInfo.HostServerIP);
                HeaderCookieHelper.PatchHeaderCookieGUID(application, RoutingConfiguration.AffinityCookieName, newCookieValue);
            }
        }