Я разработал приложение для интрасети, в котором выпадающий список привязан к глобальным данным списка адресов Outlook. Код такой, как показано ниже:System.Runtime.InteropServices.COMException (0x80010001)
Список слов = новый словарь(); // Создайте приложение Outlook. Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
// Get the NameSpace information.
Microsoft.Office.Interop.Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
// oNS.Logon(oNS.CurrentProfileName, "*********", true, true);
// Get the default Contacts folder.
Microsoft.Office.Interop.Outlook.MAPIFolder oContacts = oNS.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);
// Microsoft.Office.Interop.Outlook.AddressLists = oNS.AddressLists;
// Get the Items collection from the folder.
Microsoft.Office.Interop.Outlook.Items oItems = (Microsoft.Office.Interop.Outlook.Items)oContacts.Items;
Microsoft.Office.Interop.Outlook.ContactItem oCt = (Microsoft.Office.Interop.Outlook.ContactItem)oItems.GetFirst();
Microsoft.Office.Interop.Outlook.AddressLists addressbook=oNS.AddressLists;
Microsoft.Office.Interop.Outlook.AddressList addrList = oNS.GetGlobalAddressList();
foreach (Microsoft.Office.Interop.Outlook.AddressEntry addentry in addrList.AddressEntries)
{
Microsoft.Office.Interop.Outlook.ExchangeUser contact = addentry.GetExchangeUser();
if(contact!=null)
list.Add(contact.PrimarySmtpAddress, addentry.Name);
// string email = contact.Email1Address;
}
((DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Email")).DataSource = list;
((DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Email")).DataTextField = "Key";
((DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Email")).DataValueField = "Value";
((DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Email")).DataBind();
}
catch (System.Exception ex)
{
}
код работает отлично в системе разработки, но дает ошибку в сервере как System.Runtime.InteropServices.COMException (0x80010001): Получение COM фабрики классов для компонента с CLSID {0006F03A-0000-0000-C000- 000000000046} не удалось из-за следующей ошибки: 80010001.
Outllook установлен и настроен на учетную запись электронной почты.
Пожалуйста, помогите в фиксировании вопрос:
Привет, у меня установлен прогноз на сервере, а также учетная запись настроена для доступа к глобальному списку адресов. Но приложение Outlook не видно в конфигурации DCOM сервера, но прогноз работает –
Пожалуйста, помогите мне в решении проблемы –