1
J'ai plusieurs serveurs EC2 en charge. Certains serveurs ne partagent pas la session, et les utilisateurs continuent de se connecter et de se déconnecter.Plusieurs serveurs Amazon EC2 partagent l'état de la session
Comment puis-je faire toute la part du serveur d'une session, peut-être même en utilisant une solution de partitionresolver
public class PartitionResolver : System.Web.IPartitionResolver
{
private String[] partitions;
public void Initialize()
{
// create the partition connection string table
// web1, web2
partitions = new String[] { "192.168.1.1" };
}
public String ResolvePartition(Object key)
{
String oHost = System.Web.HttpContext.Current.Request.Url.Host.ToLower().Trim();
if (oHost.StartsWith("10.0.0") || oHost.Equals("localhost"))
return "tcpip=127.0.0.1:42424";
String sid = (String)key;
// hash the incoming session ID into
// one of the available partitions
Int32 partitionID = Math.Abs(sid.GetHashCode()) % partitions.Length;
return ("tcpip=" + partitions[partitionID] + ":42424");
}
}
-theo
Vous pouvez essayer d'utiliser un serveur SQL pour stocker votre données de session. Ce n'est pas le plus efficace mais quand vous prenez en considération les différents types d'instances EC2 disponibles, cela pourrait vous aider à mieux faire. – RC1140
Je préfère ne pas utiliser SQL pour le moment. –