C#Outlook - 被Callee拒绝的呼叫

时间:2016-04-27 15:40:49

标签: c# .net outlook calendar

尝试使用asp.net/C#通过我的事件注册应用程序向Outlook日历添加事件。尝试初始化时,被叫错误会拒绝接听电话(第1行)。我如何克服这个问题?

错误: “由于以下错误,检索具有CLSID {0006F03A-0000-0000-C000-000000000046}的组件的COM类工厂失败:80010001调用被被调用者拒绝。(HRESULT异常:0x80010001(RPC_E_CALL_REJECTED))。”

Outlook.Application outlookapp = new Outlook.Application();
Outlook.AppointmentItem appt = outlookapp.CreateItem(Outlook.OlItemType.olAppointmentItem) as Outlook.AppointmentItem;
appt.Subject = er.Event.Name;
appt.MeetingStatus = Outlook.OlMeetingStatus.olMeeting;
appt.Location = er.Event.LocationName;
appt.Start = er.Event.StartTime;
appt.End = er.Event.EndTime;
appt.Recipients.ResolveAll();
appt.Display(false);
appt.Save();

2 个答案:

答案 0 :(得分:2)

首先,您无法从服务(例如IIS)使用Outlook。

其次,即使您的代码有效,您最终也会创建一个约会并在服务器计算机上本地显示(!),而没有人可以看到它。

创建iCal文件并提供指向用户的链接 - 将使用Outlook在客户端计算机上打开ics文件,用户将能够保存它。

答案 1 :(得分:0)

不支持Office的服务器端自动化

  

开发人员可以使用Microsoft Office中的自动化来构建使用Office产品中内置功能和功能的自定义解决方案。虽然这种程序化开发可以相对容易地在客户端系统上实现,但是如果自动化是从服务器端代码(如Microsoft Active Server Pages(ASP),ASP.NET,DCOM或Windows NT服务。

请参阅:https://support.microsoft.com/en-ca/kb/257757