代码之家  ›  专栏  ›  技术社区  ›  ZaChickster

在ASP.NET IIS服务器上安装Office:优点/缺点?

  •  0
  • ZaChickster  · 技术社区  · 15 年前

    首先,我脑子里的小声音在尖叫,说这是个坏主意,不应该这样做,但我务实的一面在问:“这有多坏?”

    最明显的事实是,我公司的日常“业务”大多发生在一个或另一个MS Office工具中。数据从我们的自定义工具导出为*.tab、*.csv,在Excel中操作,并以不同的成功程度重新导入。

    这些自定义工具中的大多数都是ASP.NET MVC Web应用程序,通过与Office的更多互操作性可以增强这些应用程序的可用性。

    多年来我一直在努力,说在网络服务器上办公是个糟糕的主意。最近,我一直认为增强的可用性超过了潜在的风险。

    我疯了吗?

    5 回复  |  直到 15 年前
        1
  •  3
  •   Jazza    15 年前

    您不会说您在工作场所使用的是什么版本的MS Office,也不会说您需要什么类型的互操作性。

    如果要直接从Web应用程序“即时”生成Office文档,则如果使用的是Office2007或2010,则默认文档格式(.docx,.xlsx)基于 Open XML SDK . 这意味着可以动态生成文档,而无需在Web服务器上安装MS Office。

    如果您使用的是Office2003或更早版本,则通常认为在服务器上安装MS Office是一种不受支持的配置。

    这个 Microsoft article 概述了如果你决定走这条路,你可能面临的许多问题。

        2
  •  3
  •   Darin Dimitrov    15 年前

    Microsoft Office不适用于可能是高度分布式多线程环境的服务器。它是一个客户端应用程序,顺便说一下,它主要是非托管代码。因此,从Web服务器安装和使用它可能会隐藏潜在的问题:泄露句柄、GDI对象、托管/非托管内存之间的封送、STA COM对象等。我建议您仅使用设计用于服务器环境的工具。

        3
  •  0
  •   Joel Coehoorn    15 年前

    您可以创建好的Office文档,而不必在Web服务器上安装Office。选项包括 SpreadsheetML ,来自aspose.net的组件,甚至只是将HTML响应上的文件扩展名和内容类型更改为愚弄Office本身。

        4
  •  0
  •   JeffM    15 年前

    如果不想安装完整的Office套件,则可以只安装Microsoft Office主互操作程序集?

    http://msdn.microsoft.com/en-us/library/aa159923(office.11).aspx

        5
  •  0
  •   Hector Correa    15 年前

    我见过这种方法在负载非常低的环境中工作……但是一旦负载增加,问题就开始蔓延。正如Jazza所指出的那样,微软甚至已经将这一点记录在案。注意这篇文章是最近的(2010年7月)。

    我所看到的问题是内存泄漏、Word/Excel没有卡在内存中的实例、奇怪的注册表问题等等。

    另一个需要考虑的问题是,如果您给他们打电话时遇到与服务器环境中的Office相关的问题,Microsoft将不支持您。

    同样,如果您只有几个用户,这在最初可能不是问题,但要为规模问题做好准备。