2012-08-22 19 views
5

Đây là một theo dõi câu hỏi bên dưới: Outbound E-mail Profile API: Get list of e-mailaddressesAPI quản lý Khán giả: Các khóa RSA chứa không thể mở

Tôi đang viết một ví dụ đơn giản để khám phá những API quản lý đối tượng. Tất cả các mã tôi có là ở đây.

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()); 
     } 
    } 
} 

Các lỗi tôi nhận được khi tôi chạy trên máy chủ CM là thế này:

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 

Tôi đã cố gắng chạy aspnet_regiis TridionRsaKeyContainer với Tên truy nhập của riêng tôi, nhưng điều đó nói với tôi những RSA vùng chứa khóa không tồn tại.

Trả lời

4

Thử chạy lệnh sau:

aspnet_regiis -PA "TridionRsaKeyContainer" "User_Name"

+0

Tôi cố gắng đó và đầu ra của mà là thế này: Thêm ACL để truy cập vào các thùng chứa RSA Key ... Không tìm thấy vùng chứa khóa RSA. Không thành công! –

+0

Tôi đã thử lại lần nữa với tài khoản ban đầu đã cài đặt và mọi thứ hoạt động tốt ngay bây giờ. Cảm ơn –

+0

Hi Kah, tôi đang gặp phải vấn đề tương tự như của bạn khi sử dụng StaticAddressBook. Tôi đã đăng ký quản trị viên và mtsuser sau khi chạy lệnh trên nhưng lỗi không được giải quyết. Mã của tôi nằm trên chức năng Tải trang. Tôi có cần thêm bất kỳ mục nhập web.config nào cho mục này không? Cảm ơn – Meenakshi

Các vấn đề liên quan