javascript - 使用附件在客户端打开 Outlook 应用程序

标签 javascript asp.net vb.net outlook client-side

我无法使用 Web 服务器上的附加文件打开 Outlook 应用程序(客户端)。这是我的代码。有什么建议吗?

        Dim app As Microsoft.Office.Interop.Outlook.Application
        Dim appNameSpace As Microsoft.Office.Interop.Outlook._NameSpace
        Dim memo As Microsoft.Office.Interop.Outlook.MailItem
        Dim processes = System.Diagnostics.Process.GetProcessesByName("OUTLOOK")
        Dim collCount As Integer = processes.Length

       If collCount > 0 Then
                app = Marshal.GetActiveObject("Outlook.Application")
                memo = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem)
                memo.Attachments.Add(Report, Outlook.OlAttachmentType.olByValue, , HttpContext.Current.Session("fileName"))
                memo.Display()
            Else
                Try
                    app = New Microsoft.Office.Interop.Outlook.Application
                    appNameSpace = app.GetNamespace("MAPI")
                    Process.Start("OUTLOOK")
                    memo = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem)
                    memo.Attachments.Add(Report, Outlook.OlAttachmentType.olByValue, , HttpContext.Current.Session("fileName"))
                    memo.Display()
                Catch ex As Exception
                    Debug.WriteLine(ex.Message)
                End Try
            End If

最佳答案

ASP.NET 代码在服务器端运行,因此您至少应该在那里安装 Outlook。您的代码永远不会在客户端运行。

I have trouble opening my outlook application(client) with an attached file from web server.

所有当前版本的 Microsoft Office 均经过设计、测试和配置,以作为最终用户产品在客户端工作站上运行。他们采用交互式桌面和用户配置文件。它们不提供满足旨在无人值守运行的服务器端组件的需求所需的可重入性或安全性级别。

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

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

Considerations for server-side Automation of Office 中了解更多相关信息文章。

关于javascript - 使用附件在客户端打开 Outlook 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58740825/

相关文章:

html - 标签很长时标签重叠文本框 - css

c# - 从 VB6 字符串数据到 .NET 字节数组的转换

javascript - 从城市返回国家名称?

html - 如何控制单选按钮列表控件的单选按钮之间的空间

c# - 想要清除文本框+焦点文本框+防止同一按钮上的asp.net回发

c# - 无法在 ASP.Net MVC 5 中传递日期时间

javascript - 动态创建 javascript var 不起作用

javascript - 如何在 React-Native 中选择 ListView 的一项?

javascript - 为什么 Object.keys(window) 或 for(k in window) 不返回 Math?

asp.net - ASP.NET MVC Controller 可以返回图像吗?