C# Outlook web服务调用
我正在尝试设置一个web服务,允许用户向我传递字符串主题、日期时间开始时间、日期时间结束日期、字符串正文、列表收件人、字符串所有者,然后创建一个任务。这在我的机器上运行良好,但在Windows 2003上,我不断收到不同的错误。当前我得到-C# Outlook web服务调用,c#,asp.net,outlook,console-application,C#,Asp.net,Outlook,Console Application,我正在尝试设置一个web服务,允许用户向我传递字符串主题、日期时间开始时间、日期时间结束日期、字符串正文、列表收件人、字符串所有者,然后创建一个任务。这在我的机器上运行良好,但在Windows 2003上,我不断收到不同的错误。当前我得到-Runtime.InteropServices.COM异常:检索CLSID为{0006F03A-0000-0000-C000-0000000000 46}的组件的COM类工厂失败,原因是以下错误:80080005服务器执行失败(HRESULT的异常:0x800
Runtime.InteropServices.COM异常:检索CLSID为{0006F03A-0000-0000-C000-0000000000 46}的组件的COM类工厂失败,原因是以下错误:80080005服务器执行失败(HRESULT的异常:0x80080005(CO_E_服务器执行失败))。
我使用的是一个可以通过电子邮件访问并在邮箱中运行的帐户。我不确定这是不是最好的方法,但这是我得到的。请友善一点,我是一个.NET网络开发人员,不是Outlook程序员
我的代码如下所示-
Outlook task = new Outlook();
TaskItem taskItem = (TaskItem)_application.CreateItem(OlItemType.olTaskItem);
taskItem.Subject = subject;
taskItem.StartDate = startTime;
taskItem.DueDate = dueDate;
taskItem.Body = body;
foreach (string recipient in recipients)
{
taskItem.Recipients.Add(recipient);
}
taskItem.Owner = owner;
taskItem.Assign();
task.EntryId = taskItem.EntryID;
if (taskItem.Saved)
{
task.Successful = true;
}
return task;
我想知道服务器上是否安装了不同版本的office?我有一个在服务器上创建word文档的web应用程序,这一次服务器安装了office 2003 Compatibility作为组策略的一部分。坏事情发生了,不管怎样,卸载了它,一切又好起来了 众所周知,这些COM错误很难调试,我不知道这是什么意思。我所能提供的帮助只是我自己的一些代码,这些代码来自一个现有项目,该项目确实在Outlook 2007中成功创建了任务。这是一个基于VSTO的应用程序
Dim task As Outlook.TaskItem = DirectCast(Application.CreateItem(Outlook.OlItemType.olTaskItem), Outlook.TaskItem)
task.DueDate = Date.Parse(activity.ActDate)
task.StartDate = task.DueDate
task.Subject = String.Format(subjectText, activity.AppID)
task.Body = String.Format(bodyText, activity.AppID, activity.FileNum, activity.AppID)
task.ReminderTime = Now.AddMinutes(10)
task.ReminderSet = True
task.Categories = CATEGORY_TEST
task.Save()
task.Close(OlInspectorClose.olDiscard)
Marshal.ReleaseComObject(task)
Class ID
{0006F03A-0000-0000-C000-0000000000 46}
是Outlook的Microsoft Office Interop程序集的类ID,它是Outlook的一部分。在使用.NET Office互操作性之前,您需要在服务器上安装Microsoft Office PIA
以下是Office 2010的下载链接:
如果您使用的是Visual Studio 2010,则可以将PIA直接嵌入到您自己的程序集中,而不是在服务器上安装PIA。要执行此操作,请在VS2010中“Microsoft.Office.Interop.Outlook”引用的“属性”窗口中找到“嵌入互操作类型”,并将其设置为“true”。这已设置为true。我在服务器上安装了Office2007。我会看看你推荐的PIA。谢谢。我使用的是Office Interop版本11.0.0.0,不确定服务器上是14还是11。有人知道怎么检查吗?