Questo è un follow-up domanda a questo: Outbound E-mail Profile API: Get list of e-mailaddressesgestione Pubblico API: Il contenitore di chiavi RSA non può essere aperto
Sto scrivendo un semplice esempio per esplorare l'API Pubblico di gestione. Tutto il codice che ho è qui.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tridion.AudienceManagement.API;
namespace OEPasswordEncrypt
{
class Program
{
static void Main(string[] args)
{
StaticAddressBook importAddressBook = new StaticAddressBook(new UserContext());
}
}
}
L'errore che sto ottenendo quando faccio funzionare questo sul server di CM è questo:
Unhandled Exception: System.TypeInitializationException: The type initializer for 'Tridion.AudienceManagement.DomainModel.Utilities.Configuration' threw an exception. ---> Tridion.AudienceManagement.DomainModel.Exceptions.LocalizableConfiguationErrorsException: Loading of the configuration failed. ---> System.Configuration.ConfigurationErrorsException: The RSA key container could not be opened.
at System.Configuration.RsaProtectedConfigurationProvider.ThrowBetterException(Boolean keyMustExist)
at System.Configuration.RsaProtectedConfigurationProvider.GetCryptoServiceProvider(Boolean exportable, Boolean keyMustExist)
at System.Configuration.RsaProtectedConfigurationProvider.Decrypt(XmlNode encryptedNode)
at Tridion.AudienceManagement.DomainModel.Utilities.ConfigurationEncryption.TraverseAndProcessChildren(Dictionary`2 protectedConfigurationProviders, XmlNodenode)
at Tridion.AudienceManagement.DomainModel.Utilities.ConfigurationEncryption.DecryptConfiguration(XmlDocument rawConfiguration)
at Tridion.AudienceManagement.DomainModel.Utilities.Configuration.Reload()
--- End of inner exception stack trace ---
at Tridion.AudienceManagement.DomainModel.Utilities.Configuration.Reload()
at Tridion.AudienceManagement.DomainModel.Utilities.Configuration..cctor()
--- End of inner exception stack trace ---
at Tridion.AudienceManagement.DomainModel.Utilities.Configuration.get_LogFolder()
at Tridion.AudienceManagement.DomainModel.Utilities.Logger.AssertValidLogFolder()
at Tridion.AudienceManagement.DomainModel.Utilities.Logger.WriteLine(LogLevel logLevel, String message, Object[] objects)
at Tridion.AudienceManagement.DomainModel.Utilities.Logger.WriteLine(LogLevel logLevel, String message)
at Tridion.AudienceManagement.DomainModel.Utilities.Logger.Info(String message)
at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.LogBindingInfo(Exception ex)
at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.GetConfiguredCoreService()
at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.GetClient(UserContext userContext, UserData& userData)
at Tridion.AudienceManagement.DomainModel.ServiceClient.ContentManagerClient.LoadCurrentUser(UserContext userContext, String userDataXml)
at Tridion.AudienceManagement.DomainModel.UserContext..ctor(String trusteeName)
at Tridion.AudienceManagement.DomainModel.UserContext..ctor()
at Tridion.AudienceManagement.API.UserContext..ctor()
at OEPasswordEncrypt.Program.Main(String[] args) in c:\users\kaht\documents\visual studio 2010\Projects\OEPasswordEncrypt\OEPasswordEncrypt\Program.cs:line 13
Ho già provato a fare funzionare aspnet_regiis TridionRsaKeyContainer con il mio nome utente, ma che mi dice la RSA il contenitore chiave non esiste.
ho provato e l'uscita di che è questo: aggiunta di ACL per l'accesso al contenitore di chiavi RSA ... Il contenitore della chiave RSA non è stato trovato. fallito! –
L'ho provato di nuovo con l'account originale che ha fatto l'installazione e ora funziona tutto bene. Grazie –
Ciao Kah, sto affrontando lo stesso tuo problema quando si utilizza StaticAddressBook. Ho registrato l'amministratore e mtsuser dopo aver eseguito il comando precedente ma l'errore non è stato risolto. Il mio codice è nella funzione di caricamento della pagina. Devo aggiungere qualche voce web.config per questo? Grazie – Meenakshi