Windows Azure 上的 AspPDF 和 AspJPEG

2023-11-26

我最近开始将 .NET 应用程序迁移到 Windows Azure 云服务。我们的应用程序严重依赖于许多 COM 类组件,其中包括 AspPDF(用于 PDF 生成和操作)和 AspJPEG(用于调整图像大小)。在典型的非云 IIS 设置中,我只需在我们的生产服务器上注册 DLL(使用 regsvr32),一切都会好起来的!

在 Azure 中,过程略有不同,我将回答我自己的问题,以帮助那些面临类似挑战的人。此方法可用于作为部署过程的一部分需要在服务器上注册的任何 dll。


为了在 Windows Azure 云服务上注册 AspPDF 和 AspJPEG 组件,必须将 DLL 注册过程合并到部署例程中。当 Azure 解压应用程序时,它必须触发命令来注册 DLL,该命令必须保留在所有 VM 上,以确保这些依赖项在云环境中一致工作。

为了实现这一点,我们可以指示在目标服务器上执行命令文件。此任务在 ServiceDefinition.csdef 文件中定义如下:

<Startup>
  <Task commandLine="RegisterPersits.cmd" executionContext="elevated" taskType="simple" />
</Startup>

提升的执行上下文确保必须在服务上线之前执行此过程。 Azure Fabric 控制器将在 BIN 文件夹中查找 .cmd 文件。您可以在记事本中创建 .cmd,然后更改扩展名。这是 .cmd 文件的内容。

chcp 1252>NUL
regsvr32 /s .\library\asppdf64.dll
regsvr32 /s .\library\aspjpeg64.dll
exit /b 0

我们使用参数 /s 调用 regsvr32 工具,这确保响应是静默的,即没有会混淆结构控制器的弹出窗口。这很重要,因为我浪费了大量时间想知道为什么部署过程挂在初始化阶段......添加 /s 参数解决了这个问题!

就我而言,我将 DLL 放置在名为“库”的文件夹中,但您可以将它们放置在您喜欢的任何位置,只要它们在 .cmd 文件中正确引用即可。还要确保为 Visual Studio 中的启动命令中引用的任何 DLL 设置以下文件属性:

构建动作: Content

复制到输出目录: Always

这个注册 DLL 的额外过程给部署过程增加的时间几乎可以忽略不计。 AspPDF 特有的另一点是使用正确的 DLL 版本的重要性。 Persits 发布 32 位和 64 位 dll,Azure VM 在 64 位环境中运行,因此在上述过程中注册 asppdf64.dll 很重要,注册 32 位 dll 会在应用程序中引发模糊错误。幸运的是,您不需要为 64 位版本的 AspPDF 购买单独的许可证。

我希望这能够帮助其他面临类似问题的人将 com 类组件(例如 AspPDF)迁移到 Azure。

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

Windows Azure 上的 AspPDF 和 AspJPEG 的相关文章

  • Azure Functions 中通过整数 SQL 查询 DocumentDB 不起作用

    我在 Azure Functions 中使用 JavaScript 语言 当使用 Cosmos DB 作为输入时 我无法通过整数作为变量进行查询 例如 我有以下内容 使用 Azure Cosmos DB 作为我的输入 公司 的功能设置 这是
  • 如何以一种形式发布两个或多个模型?

    我正在为一个项目开发互联网课程计划应用程序 该课程计划是根据以下模型构建的 使用数据库优先方法中的实体框架生成 public partial class Subject public int Id get set public string
  • 在 VB.NET 中 a = b = 5 - 不可能吗?

    VB NET 中可以这样做吗a b 5 我知道 也是比较运算符 我的意思是做not结果 例如 如果 b 2 a false b 2 然而 在下面的情况下该怎么做呢 不方便在我的代码中引起了这个问题 一些对象a b z由方法中的 ref 传递
  • 生成Excel文件错误

    我在经典 ASP 中使用以下代码生成 Excel 文件 代码很简单并且有效 我在 Windows Vista x86 上的 IIS 7 0 下运行代码 两个问题 有一个奇怪的警告框 这是屏幕快照 http i27 tinypic com 2
  • InvalidOperationException:无法解析类型“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务

    我开始将我的 asp net core RC1 项目转换为 RC2 并面临现在的问题IHttpContextAccessor没有解决 为了简单起见 我使用 Visual Studio 模板创建了新的 ASP NET RC2 项目ASP NE
  • C# 创建包含多个文件的 ZIP 存档

    我正在尝试创建包含多个文本文件的 ZIP 存档 如下所示 Dictionary
  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 我应该如何在 VB.NET 中进行转换?

    所有这些都相等吗 在什么情况下我应该选择其中一个而不是其他 var ToString CStr 变量 CType 变量 字符串 DirectCast 变量 字符串 编辑 来自的建议不是我自己 https stackoverflow com
  • 无法访问azure webapp url

    实际上 我创建了一个 Web 应用程序并成功将我的代码部署到该 Web 应用程序中 但是当我尝试通过 URL 访问该 Web 应用程序时 它显示如下 您无权查看此目录或页面 我不知道为什么会这样 我尝试创建不同的网络应用程序 但仍然重复同样
  • C# 7 表达式主体构造函数

    在 C 7 中 如何使用 2 个参数编写这样的表达式主体构造函数 public Person string name int age Name name Age age 一种方法是使用元组和解构来允许在一个表达式中进行多次赋值 public
  • 如何为从源文件编译的应用程序分配自定义图标?

    在我的程序中 我使用 CSharpCodeProvider 来从源文件编译另一个应用程序 我使用的代码如下 public static bool CompileExecutable String sourceName FileInfo so
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 如何在加载.NET WinForm应用程序user.config文件时捕获异常?

    有时 在使用默认配置系统的 NET 2 0 WinForm 桌面应用程序中 user config文件将被损坏并且无法再加载 当配置系统尝试加载它时 它会抛出一个System Xml XmlException 抛开 为什么文件首先被损坏 的
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 如何使用 Azure 服务总线 HTTP API 对消息设置死信

    我正在尝试与 Azure 服务总线集成以执行代理消息传递 我之前成功地使用了托管 NET API 但这次我需要使用HTTP API 处理消息时 如果我确定消息有毒 即永远无法成功处理 我想将消息移至死信队列 在托管 API 中 我会调用Br
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 如何在本地运行 Microsoft Azure DocumentDB?

    我使用 Mac 主要从事 Node js 项目 我想尝试 DocumentDB 将其与 MongoDB 进行比较 有没有办法运行 Azure DocumentDB 的本地实例 而无需经历设置真实帐户的麻烦 Thanks 自2016年11月1
  • 使用 Java v12 SDK 在 Azure Blob 存储中复制 Blob

    我的应用程序位于 Kubernetes 集群中 我正在使用Java v12 SDK https github com Azure azure sdk for java tree master sdk storage azure storag

随机推荐

  • Fortran 中何处放置“隐式无”

    我需要放implicit none在每个函数和子程序中 或者将其放在包含这些函数和子例程的模块的开头就足够了吗 或者将其放在使用这些模块的程序的开头就足够了吗 通过观察别人的工作代码 implicit none包含在所有这些地方 我不确定这
  • React Hooks 的 Keydown/up 事件无法正常工作

    我正在尝试为我正在开发的游戏创建基于箭头的键盘控件 当然 我想跟上 React 的最新动态 所以我想创建一个函数组件并使用钩子 我创建了一个JSFiddle对于我的越野车组件 它几乎按预期工作 除非我同时按下很多箭头键 然后好像有一些key
  • 在 tidyr/dplyr 中添加零计数行的正确习惯用法

    假设我有一些如下所示的计数数据 library tidyr library dplyr X raw lt data frame x as factor c A A A B B B y as factor c i ii ii i i i z
  • Java 和无符号值

    我正在解析 DatagramSocket 中的无符号位 我总共有 24 位 或 3 个字节 进来 它们是 1 个无符号 8 位整数 后跟一个 16 位有符号整数 但是java从来不会将除了有符号字节之外的任何东西存储到字节 字节数组中 当j
  • 无法刷新hangfire仪表板中的统计信息

    我的网站在同一台服务器上使用hangfire 运行 Hangfire 仪表板在本地运行良好 但是 当我访问http localhost hangfire recurring在服务器计算机上 它报告此错误 Unable to refresh
  • bash文本搜索:查找一个文件的内容是否存在于另一个文件中[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 假设我们有两个文件 a txt 和 b txt 每个文件都有多行文本 如何编写一个shell脚本来检查b txt中是否存在a txt的所有内容 感谢各位的提示 我没有注意到 q
  • 将 3 字节立体声 WAV 文件转换为 numpy 数组

    我收到了一个连续水下录音的大型 WAV 文件 我想将其转换为 numpy 数组进行分析 我正在努力做到这一点 到目前为止我有 import numpy as np import scipy as sp import wave as wv i
  • 从 VB.NET 编码过渡到 C# 的好练习吗?

    中级 高级 VB NET Web 程序员应该做哪些练习来掌握 C 语法 我想一些很好的例子是 运行全部 C 语法的算法或项目练习 参考资料 VB NET 程序员应注意的主要语法差异列表 我认为最好的锻炼就是为自己创造一些东西 通过这种方式
  • 是否有任何 Python IDE 可以像 R 一样让您运行选定的代码? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我认为这对于初学者来说是一
  • 在 Swift 中,为什么子类方法不能覆盖超类中协议扩展提供的方法

    我知道这个问题的标题很令人困惑 但奇怪的行为在下面的示例中进行了解释 protocol Protocol func method gt String extension Protocol func method gt String retu
  • BadImageFormatException 调试以 x64 模式运行的网站

    这个论坛里有很多关于这个的问题BadImageFormatException 但没有一个完全符合我的问题 我有一个包含多个项目的解决方案 当我在 调试 或 发布 任何 CPU 中运行时 一切正常 然而 当我切换到 x64 并运行我的 ASP
  • 运行 AspectJ 会导致 NoSuchMethodError: Aspect.aspectOf

    我有一个非常简单的 AspectJ 方面 使用 AspectJ 它只打印出一条日志消息 我的目标是在我的 Android 应用程序中提供建议代码 现在 只要我的应用程序源代码中有方面类本身 这个方面就可以完美地工作 一旦我将方面移动到不同的
  • 如何测试类型是否是具有非类型参数的模板的特化?

    我想知道是否有任何解决方案来查找类型是否是采用非类型参数而不指定每种类型的模板的特化 例如 如果有一个这样的类 template
  • jQuery 中的类名更改事件

    当元素类更改时 有没有办法在 jQuery 中触发事件 例子 img class selected into img class selected newclass 触发事件 And img class selected into img
  • pyodbc 和 mySQL

    我无法使用 pyodbc 连接到 mySQl 数据库 这是我的脚本的片段 import pyodbc import csv cnxn pyodbc connect DRIVER MySQL ODBC 3 51 Driver SERVER l
  • MacOS“配置:错误:无法运行 C 编译的程序”

    我对 MacOS 环境相当陌生 之前在编译 C 脚本时遇到了一些问题 我遇到了以下问题 fatal error stdio h No such file or directory include
  • Angular 4 动画不适用于 Safari iOS 9.3

    我目前正在所有可能的浏览器中测试我的应用程序 我发现角度动画在 Safari iOS 9 3 中的行为与预期不符 下班后 花了几个小时试图解决这个问题 我来寻求帮助 提前致谢 我的代码如下 包 json dependencies angul
  • Spring 3.1 自动装配在自定义约束验证器中不起作用

    我在自定义约束验证器内自动装配 bean 时遇到问题 约束验证器实例不是使用 Spring 的 LocalValidatorFactoryBean 给出的 JSR 303 提供程序是 hibernate validator 4 2 0 Fi
  • 为什么是“using namespace std;”被认为是不好的做法?

    我听说using namespace std 是不好的做法 我应该使用std cout and std cin直接代替 为什么是这样 声明与中的某些内容同名的变量是否存在风险 std命名空间 考虑两个名为 Foo 和 Bar 的库 usin
  • Windows Azure 上的 AspPDF 和 AspJPEG

    我最近开始将 NET 应用程序迁移到 Windows Azure 云服务 我们的应用程序严重依赖于许多 COM 类组件 其中包括 AspPDF 用于 PDF 生成和操作 和 AspJPEG 用于调整图像大小 在典型的非云 IIS 设置中 我