2011-01-31 51 views
0

我试图从Silverlight 4应用程序启动Outlook。我提到这个article。但是代码会抛出异常,因为“此操作在当前上下文中不受支持”。Silverlight 4电子邮件AutomationFactory.CreateObject抛出异常

请提出解决此问题需要做些什么?

using (dynamic outlook = AutomationFactory.CreateObject("Outlook.Application")) 
{ 
    dynamic mail = outlook.CreateItem(0); 
    mail.To = ""; 
    mail.Subject = "Hello, from Silverlight"; 
    mail.HTMLBody = ""; 
    mail.Display(); 
} 

回答

4

您的应用程序是否运行在浏览器之外?它是否作为可信应用程序运行(您在OOB设置窗口中选中了“需要提升信任”复选框)?此代码是否在Windows上运行?

AutomationFactory仅适用于上述所有三个答案都是“是”。为了验证所有内容,请在调用任何其他AutomationFactory API之前检查AutomationFactory.IsAvailable是否为真。这有一个额外的优点,当代码无法提供警告用户,回退到其他行为或根本不显示该选项时,您的代码可以轻松检测到该功能。

此外,为了验证希望 - 显而易见:运行的机器是否安装了Outlook?

+0

奥斯汀,我已经完成了你提到的所有设置......用户权限是否有任何要求?或其他浏览器设置? – RockWorld 2011-01-31 14:41:56