我正在尝试从Silverlight 4应用程序启动Outlook。我提到了article。但代码抛出异常为“当前上下文中不支持此操作。”
请说明需要采取哪些措施来解决此问题?
using (dynamic outlook = AutomationFactory.CreateObject("Outlook.Application"))
{
dynamic mail = outlook.CreateItem(0);
mail.To = "";
mail.Subject = "Hello, from Silverlight";
mail.HTMLBody = "";
mail.Display();
}
答案 0 :(得分:4)
您的应用程序是否在浏览器外运行?它是否作为受信任的应用程序运行(您在OOB设置窗口中选中了“需要提升的信任”复选框)?此代码是否在Windows上运行?
AutomationFactory
仅可用于上述所有三个答案均为“是”。要验证所有内容是否正常,您应该在调用任何其他AutomationFactory.IsAvailable
API之前检查AutomationFactory
是否为真。这样做的好处是,您的代码可以轻松检测到该功能何时无法用于警告用户,回退到其他行为,或者根本不在UI中显示该选项。
另外,要验证有希望显而易见的事情:运行它的机器是否安装了Outlook?