Problem mit der virtuellen Maschine des AppFabric-Clients

Wir haben einen AppFabric-Cache-Cluster-Server und ich kann mit meinem Entwicklungscomputer als Client damit arbeiten. Um verschiedene Webserver zu simulieren, die auf den Cache-Cluster-Server zugreifen, habe ich eine virtuelle VMWare-Maschine erstellt und Visual Studio 2010 und meine Webanwendung installiert. Wenn ich versuche, den Cache von der VM als Client abzurufen, erhalte ich die folgende Fehlermeldung ... Bitte helfen Sie .. danke ..

ErrorCode: SubStatus: Es liegt ein vorübergehender Fehler vor. Bitte versuchen Sie es später erneut. (Ein oder mehrere angegebene Cache-Server sind nicht verfügbar. Dies kann durch ein ausgelastetes Netzwerk oder Server verursacht werden. Überprüfen Sie bei lokalen Cache-Clustern auch die folgenden Bedingungen. Stellen Sie sicher, dass für dieses Client-Konto Sicherheitsberechtigungen erteilt wurden, und überprüfen Sie, ob AppFabric aktiviert ist Der Caching-Dienst wird durch die Firewall auf allen Cache-Hosts zugelassen. Außerdem muss die MaxBufferSize auf dem Server größer oder gleich der vom Client gesendeten Größe des serialisierten Objekts sein.)

Mir ist aufgefallen, dass die innere Ausnahme war

Der Server hat die Client-Anmeldeinformationen abgelehnt.

Also .. nach einigem Nachforschen .. habe ich die folgende Zeile zu meiner Konfiguration hinzugefügt

<securityProperties mode="None" protectionLevel="None" />

Nun sieht meine dataCacheClient-Konfiguration wie folgt aus:

  <dataCacheClients>
    <dataCacheClient name="default">
    <localCache
    isEnabled="true"
    sync="NotificationBased"
    objectCount="10000"
    ttlValue="5" />
    <hosts>
      <host name="MyCacheClusterServerMachine" cachePort="22233" />
    </hosts>
    <securityProperties mode="None" protectionLevel="None" />
  </dataCacheClient>

Nach der obigen Konfigurationsänderung wird folgende Fehlermeldung angezeigt:

Die Socket-Verbindung wurde abgebrochen. Dies kann durch einen Fehler bei der Verarbeitung Ihrer Nachricht oder ein vom Remotehost überschrittenes Zeitlimit für den Empfang oder durch ein zugrunde liegendes Problem mit Netzwerkressourcen verursacht werden. Zeitüberschreitung des lokalen Sockets war

Mein Code ohne die Konfiguration ist wie folgt. Es funktioniert von meinem Dev-Rechner als Client, aber nicht von der VM als Client. Ich kann den Cache-Cluster-Server vom VM-Client aus anpingen.

class Program
{
    static void Main(string[] args)
    {

        var config = new DataCacheFactoryConfiguration();
        var servers = new List<DataCacheServerEndpoint>();
        servers.Add(new DataCacheServerEndpoint("MyCacheClusterServerMachine", 22233));
        config.Servers = servers;
        var factory = new DataCacheFactory(config);
        var cache = factory.GetDefaultCache();   <---- error here ********
        var key = "CachedObjectKey";
        var obj = cache[key];
        if (obj == null)
        {
            obj = "here is a string to cache";
            cache.Add(key, obj);
            Console.WriteLine("object was not in cache");
        }

        obj = cache.Get(key);

        Console.WriteLine(obj.ToString());
        Console.ReadLine();
    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage