visio 服务器端自动化的替代方案

2023-12-11

微软建议不要对办公工具进行服务器端自动化(服务器端办公自动化的注意事项) 但是,我看不到其他选择。我想做的是将 vsd 文件转换为 html(超链接的图像+地图)。这在以下情况下尚不可能Aspose.图,在此处对类似问题的回答中引用了该内容。LibVisioLibreOffice 3.5 中使用的版本尚未完成,也不支持超链接。

还有什么我可以尝试的吗? 如果没有:任何有关如何设置 ASP.NET Web 服务访问权限以便其可以访问 visio 而不会造成重大安全风险的提示将不胜感激。 (一个教程只是将其设置为模拟系统管理员帐户,这对我来说听起来有点危险)


办公自动化和网络应用程序的主要问题很简单,办公程序的设计不适合同时执行多个副本。如果根据 Web 请求立即执行 Visio 或其他 Office 程序,则无法确定可能会遇到哪种类型的共享内存问题。这些应用程序的内存占用不适合处理 10 个甚至 100 个同时连接。此外,发出请求的浏览器可能会因多种原因而消失,并且确实没有好的方法来阻止应用程序执行。

考虑到这一点,只要限制应用程序,您就可以获得成功。一种方法是使用 Web 服务设置一种排队系统,这样 Visio 就不会在服务器上多次实例化。

我要做的是建立一个“visio 服务器”。意思是安装了 visio 的单独计算机。然后,我会编写一个控制器应用程序,其目的是从队列堆栈中提取单个作业,运行该作业并保存结果。通过这种方式,您可以确保一次仅运行一项作业,因此一次仅运行一份 Visio 副本。请注意,这可以巧妙地处理一些许可问题。

因此,Web 应用程序会将作业发布到数据库队列。控制器将轮询这些作业,并在找到作业后执行它并存储结果。冲洗并重复。

Web 应用程序可以轮询数据库以查看结果何时准备好并将其提供给用户。可能是某种类型的 Ajax 页面,每 15 秒左右检查一次。或者,可以通过电子邮件向用户发送结果,或者他们可以“稍后再回来查看”......

附带说明一下,这可以避免任何类型的安全风险,因为控制器和 visio 将在单独的计算机上运行。除了简单地执行 visio 并从数据库中提取作业信息之外,这台单独的计算机不需要任何其他权限。因此,即使您有某种类型的流氓 visio 东西,损坏也仅限于那一台机器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

visio 服务器端自动化的替代方案 的相关文章

随机推荐

  • 从 Cray Fortran 获取当前主机名

    有人知道如何从 Cray Fortran 程序获取当前主机名吗 我基本上想要 UNIX 的输出gethostname 在浏览 Craydocs 页面后 我发现 PXF 函数似乎不包含此信息 Wirawan Cray Fortran 在现代
  • 如何从linkedin jsapi获取公司ID

    我试图使用 jsapi 从 linkedin 获取公司 ID iam 使用下面的 url 公司搜索 公司 id 名称 关键字 ibm 20oracle 20infosys 我得到了其他一些公司的 ID companies count 10
  • Windows下如何共享日志文件?

    我有几个不同的进程 我希望它们都记录到同一个文件 这些进程在Windows 7系统上运行 有些是 python 脚本 有些是cmd批处理文件 在 Unix 下 你只需让每个人都以追加模式打开文件并写入即可 只要每个进程写的少于PIPE BU
  • 多部分/表单数据 php curl

    我正在使用 i2ocr com 的 OCR 服务将图像转换为文本 在我的项目中 我需要自动完成这项工作 因此我使用 PHP 来获取图像的文本 在 OCR 网站中 postdata 以 multipart form data 的形式包含 像这
  • 如何在 ASP.Net MVC 中将 RDLC 报告与 ReportViewer 控件一起使用?

    我对 ASP Net MVC 相当陌生 我需要在 MVC 中显示基于 RDLC 的报告 基本上我的要求以及我所做的是 我有一个继承 APIController 的 ReportController 它有一个返回 DataSet 的方法 该数
  • 在 Android 上使用 2 个不同的 Firebase 项目进行 FCM 和 Crashlytics

    我正在尝试在 android 上使用 2 个不同的 Firebase 项目 一个用于 FCM 另一个用于 Crashlytics 例如 ProjectA 用于 FCM ProjectB 用于 Crashlytics 但这对我不起作用 我正在
  • 对相同的源表和目标表使用 SQL Server MERGE 命令

    我正在尝试使用 MERGE 命令插入或更新单个表 但是我总是得到 0 行受影响 我的目标很简单 如果存在则更新 否则插入 我究竟做错了什么 注 表的主键是组合键 date sip dip port 其中 date 是日期时间 所有其他字段都
  • 即使 DEBUG=False 也记录 SQL 查询

    这是我的日志配置settings py LOGGING version 1 disable existing loggers False handlers console class logging StreamHandler file c
  • C# Winforms - 设置组合框选定的值

    我想为组合框设置名称和值对 所以我创建了一个名为Item像这样 Content item for the combo box private class Item private readonly string Name private r
  • 在 TypeScript 中定义方法的不同方式

    我在 TypeScript 中有一个模块 如下所示 import app require durandal app import ko require knockout class Screen1 method1 arg string st
  • 如何正确地将 django 列表/字典传递给 javascript

    我有一个项目列表 想将其传递给 javascript 数组 Django 版本 2 2 3 在我的views py中 my list one two context my list json dumps my list return ren
  • PhoneGap 和 Android - 如何使用新的选择列表样式

    我使用 PhoneGap 开发了一个 Android 移动应用程序 我还为浏览器发布了它 在我的手机上 当我在 Chrome 中查看该应用程序时 我得到以下选择菜单样式 但是 当我打开与 PhoneGap 一起打包的应用程序时 我得到以下信
  • R无法加载dplyr

    我从 Ubuntu 16 运行 使用 R 版本 3 4 1 我有dplyr安装并可以在我从 RStudio 运行或从终端 sudo 进入 R 时加载它 但是 如果我在没有 root 权限的情况下运行 R 则由于以下错误而无法加载 dplyr
  • 将数据框中的因子列转换为数字类型列[重复]

    这个问题在这里已经有答案了 可能的重复 将因子转换为整数 R 如何在 R 中将因子转换为整数 数字而不丢失信息 我读过一个文本文件 其中一些具有实数的列被作为因素读入数据框中 如何将facoe列转换为数字列 您可以使用 as numeric
  • 以编程方式调用 segue 不起作用

    我正在尝试制作启动画面 我有一个视图 上面绘制了背景图像 然后我想在几秒钟后转换到另一个视图 我正在尝试使用以下代码 self performSegueWithIdentifier showApp sender self 我通过 ctrl
  • org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter 错误

    我想测试我的 application context xml 是否配置良好 所以 这就是我所做的 public static void main String args ApplicationContext applicationConte
  • 当应用程序在后台时重新启动没有用户界面的 iOS 应用程序?

    当应用程序在后台运行时 如何在没有用户界面的情况下重新启动iOS应用程序 我知道通知 但在任何通知中 用户必须单击警报视图按钮才能重新启动或打开应用程序 没有办法做到这一点 用户必须参与执行此操作
  • Javascript 可以检测移动设备是否静音吗?

    当用户回答正确 错误的问题时 我的网站当前会播放声音 但我注意到 在我的平板电脑 iPad 和手机 iPhone 上 即使我将其置于静音模式 它也会播放声音 当用户明确将设备设置为静音模式 铃声 时 我不希望手机 平板电脑播放声音 那么 我
  • Cordova + Crosswalk iOS 仍然使用 UIWebView

    我没有找到很多为 iOS 设置人行横道的说明 看起来应该很简单 cordova plugin add cordova plugin crosswalk webview cordova build ios 因为在执行以下操作之前 我遇到了插件
  • visio 服务器端自动化的替代方案

    微软建议不要对办公工具进行服务器端自动化 服务器端办公自动化的注意事项 但是 我看不到其他选择 我想做的是将 vsd 文件转换为 html 超链接的图像 地图 这在以下情况下尚不可能Aspose 图 在此处对类似问题的回答中引用了该内容 L