javascript - 在客户端打开带有附件的 Outlook 应用程序
问题描述
我无法使用来自 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。您的代码永远不会在客户端运行。
我无法使用来自 Web 服务器的附件打开 Outlook 应用程序(客户端)。
所有当前版本的 Microsoft Office 都经过设计、测试和配置,可作为最终用户产品在客户端工作站上运行。他们假设一个交互式桌面和用户配置文件。它们不提供满足设计为无人值守运行的服务器端组件的需求所必需的可重入性或安全性级别。
Microsoft 目前不推荐也不支持任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)的 Microsoft Office 应用程序自动化,因为 Office 可能表现出不稳定的行为和/或在此环境中运行 Office 时出现死锁。
如果您正在构建在服务器端上下文中运行的解决方案,您应该尝试使用已确保无人值守执行安全的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。如果您使用服务器端解决方案中的 Office 应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将承担整体解决方案稳定性的风险。
在Office 服务器端自动化的注意事项文章中阅读更多相关信息。
推荐阅读
- python - Python / Pygame - 如何创建用于查看世界地图的相机(自上而下,无玩家角色)
- random - 球拍 - 带有随机数字的数字
- prolog - 使用条件切割的 Prolog 查询
- python - 适用于所有环境 Python (Anaconda) 的全局模块安装
- javascript - 为什么从同一个 javascript 文件导入和导出会给出类型而不是函数错误?
- python - 如何更快地堆叠一系列 numpy 数组?
- asp.net-mvc - .NET Core 将多个实体关联到一个用户
- nestjs - NestJS - 根据请求形状不同地验证/序列化
- javascript - 为什么动态加载 html 页面时 javascript 不起作用?(没有jQuery)
- java - 按钮启用 0