2012-09-11 1 views
0

J'essaie la validation des concepts basée sur le code http://msdn.microsoft.com/en-us/library/windowsazure/gg618003. Ce cache est accessible si j'utilise les paramètres app.config. Lorsque j'ai basculé l'application pour utiliser la configuration programmatique, je reçois systématiquement cette erreur. J'ai déjà essayé Azure cache programatically configuration fail to verify et beaucoup d'autres solutions en vain.La configuration programmatique du cache Azure génère ErrorCode ERRCA0029 SubStatus ES0001 Jeton d'autorisation transmis par l'utilisateur Invalide

Voici mon extrait de code.

{code}

 String        acsKey = "AcsKey removed intentionaly"; 
     DataCacheFactoryConfiguration  cacheFactoryConfiguration; 
     DataCacheSecurity     dataCacheSecurity; 
     DataCacheServerEndpoint[]   serverEndpoints = new DataCacheServerEndpoint[1]; 
     SecureString      secureAcsKey = new SecureString(); 

     serverEndpoints[0] = new DataCacheServerEndpoint("EndPont removed intentionaly", 22243); 

     // 
     // Create SecureString from string 
     // 
     foreach (char keyChar in acsKey) 
     { 
      secureAcsKey.AppendChar(keyChar); 
     } 
     secureAcsKey.MakeReadOnly(); 
     dataCacheSecurity = new DataCacheSecurity(secureAcsKey); 

     // 
     // Initialize Factory Configuration 
     // 

     cacheFactoryConfiguration = new DataCacheFactoryConfiguration(); // This line throws exception. Note that the key is yet to be assigned to SecurityProperties as per documentation. 
     cacheFactoryConfiguration.Servers = serverEndpoints; 
     cacheFactoryConfiguration.SecurityProperties = dataCacheSecurity; 

     _cacheFactory = new DataCacheFactory(cacheFactoryConfiguration); 
     _cache = _cacheFactory.GetDefaultCache(); 

{code}

+0

Je viens de comprendre cela. J'avais utilisé les instructions d'installation de NuGet (car la documentation le dit). Cela ajoute une entrée de configuration que je n'avais pas réalisée. Il avait la version de fichier templatisée et causait des problèmes. Une fois que je l'ai enlevé, le code a commencé à fonctionner correctement. – Chetan

Répondre

0

Essayez de passer tous les params à la création et pas poster la création?

var configFactory = new DataCacheFactoryConfiguration 
          { 
           Servers = 
            new List<DataCacheServerEndpoint> 
             {new DataCacheServerEndpoint(cacheServer, cachePort)}, 
           SecurityProperties = 
            new DataCacheSecurity(Encryption.CreateSecureString(cacheAuthorization), 
                  true) 
          }; 
+0

J'ai trouvé que le problème était différent. Je n'ai pas trouvé Encryption.CreateSecureString n'importe où. L'extrait de code fonctionne également (une fois que j'ai résolu le problème app.config). – Chetan

Questions connexes