【问题标题】:Reading pst (Outlook) files from IIS ASP.NET application从 IIS ASP.NET 应用程序读取 pst (Outlook) 文件
【发布时间】:2012-05-17 11:18:19
【问题描述】:

我必须创建一种基于 .PST 文件的 Web 邮件。

我需要从用户提供的 PST 文件中读取所有 MailItems、文件夹、联系人以及我能读取的所有内容。

我目前正在使用 DCOM 互操作来创建应用程序并使用 Session 添加我的文件存储。

我的问题是我什至无法实例化 Outlook.Application,代码根本无法运行。

如果我更改为 Visual Studio 开发 Web 服务器,一切都会按预期完美运行,但如果我更改为本地 IIS Web 服务器.. 没有任何反应 =/

到目前为止我做了什么:

  • 在 web.config 上设置用户名并传递以模拟
  • 设置用户名并通过 iis -> 身份验证 -> ASP.NET 模拟在我的网站上进行模拟
  • 在我尝试读取的临时 asp 文件、网站文件和 pst 文件中为所有人、网络服务、IIS_IUSRS、我的用户帐户添加了权限

不幸的是,我已经使用 TDD 实现了所有我需要的东西,所以改变我这样做的方式并不是一个好主意,比如迁移到 NMapi 之类的东西。

提前致谢

编辑:

正如我之前提到的,我不能使用另一个库(那个似乎可以工作,但它非常昂贵)。

我只需要在本地服务器上运行它。它是一个 Web 应用程序,但仅适用于 localhost。

【问题讨论】:

    标签: asp.net-mvc iis outlook pst


    【解决方案1】:

    在服务器端使用 Outlook 不是一个好主意,这里有详细描述:http://support.microsoft.com/kb/257757

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

    也许看看http://www.independentsoft.de/pst/

    【讨论】:

    • 即使网站在本地机器上的 IIS 中运行,也不推荐也不支持从 ASP.NET 自动化办公应用程序。一个例子:应用程序可以随时弹出一个对话框,等待用户输入,但由于它是从服务启动的,所以没有人看到该对话框,它将无限期地等待。在 Vista 之前,您可能已经授予 IIS 服务与桌面交互的权限并将其帐户设置为用户之一,这可能对您的特定情况有所帮助(但这纯粹是猜测),但由于 Vista,这是不可能的没有了。
    • 替代 PST 库将是 pstsdk.codeplex.com,但这是 C++,它的 .NET 克隆 pstsdknet.codeplex.com,但这看起来还没有完成。
    • 对您的特定场景的快速思考(在本地运行,由登录用户访问):您可以尝试使用 IIS Express microsoft.com/en-us/download/details.aspx?id=1038 部署您的网站,它作为用户进程而不是作为服务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 2018-12-23
    • 2021-08-28
    • 1970-01-01
    • 2019-06-10
    • 2012-06-01
    相关资源
    最近更新 更多