C# ASP网站打开outlook窗口

C# ASP网站打开outlook窗口,c#,asp.net,email,outlook,C#,Asp.net,Email,Outlook,我有一个asp.net网站,该网站的listview中填充了产品。我将按钮添加到listview项目中,用于打开带有产品信息的outlook新电子邮件。问题是,当新的电子邮件outlook窗口打开时,在关闭outlook窗口之前,我无法在我的网站中导航(这就像浏览器是忙碌的一样)。outlook窗口仍处于打开状态时,是否有方法在网站中导航 ASP: Microsoft目前不建议也不支持从任何无人参与、非交互的客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Micros

我有一个asp.net网站,该网站的listview中填充了产品。我将按钮添加到listview项目中,用于打开带有产品信息的outlook新电子邮件。问题是,当新的电子邮件outlook窗口打开时,在关闭outlook窗口之前,我无法在我的网站中导航(这就像浏览器是忙碌的一样)。outlook窗口仍处于打开状态时,是否有方法在网站中导航

ASP:


Microsoft目前不建议也不支持从任何无人参与、非交互的客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Microsoft Office应用程序,因为Office在此环境中运行时可能会表现出不稳定的行为和/或死锁。

如果您正在构建一个在服务器端上下文中运行的解决方案,那么您应该尝试使用安全的组件来无人值守地执行。或者,您应该尝试找到至少允许部分代码在客户端运行的替代方案。如果使用服务器端解决方案中的Office应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将面临整体解决方案稳定性方面的风险。你可以在这篇文章中了解更多


如果使用Exchange托管邮箱,请考虑使用EWS(Exchange Web服务)。有关更多信息,请参阅

以编程方式在服务器上显示任何UI元素是一个好主意吗?替代方法是什么?我希望用户具有此功能。
<asp:LinkButton ID="promote_link" runat="server" Text="send with mail" CommandName="mail"/>
 protected void site_search_results_list_ItemCommand(object sender, ListViewCommandEventArgs e)
{
    Label lblProductId = (Label)e.Item.FindControl("lblProductId");

    if (e.CommandName == "mail")
    {
        Outlook.Application outlookApp = new Outlook.Application();
        Outlook._MailItem mailItem = (Outlook._MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
        mailItem.Subject = "subject";
        mailItem.Display(true);
        outlookApp.Quit();
    }
}