iis - ABCpdf (AddImageUrl) 在本地主机的 IIS 7.5 中不起作用

标签 iis localhost abcpdf

我们已经使用 ABCpdf 多年了。事实上我们仍然使用 6.1 版本。它一直有效。但我们最近升级到了 Windows 2008 x64/IIS 7.5。

我们将 HTML 页面(发票)转换为 PDF 的代码现在不起作用。基本原理是有一个基于 QueryString 的 URL,它以 HTML 形式呈现发票,这允许我们“预览”它,然后将其发送到我们使用 ASP .NET 执行 ABCpdf 代码的客户端(从服务器到服务器)。这次的输出是 PDF,这就是附加到电子邮件并发送给客户的内容。

非常简单直接的东西,对吧?

这是我们注意到的关于 ABCpdf 的内容:

1) PdfObj.AddImageUrl("http://localhost/..."); // Localhost does not work.
2) PdfObj.AddImageUrl("http://127.0.0.1/..."); // Local IP does not work.
3) PdfObj.AddImageUrl("http://41.XX.XX.XX/..."); // Live IP does not work.
Now this:
4) PdfObj.AddImageUrl("http://www.google.com/"); // Works perfectly!

所以我们知道代码以及它的所有内容在技术上都可以并且确实有效。

但似乎每当 AddImageUrl() 函数调用指向自身的位置时,页面都不会呈现,并且我们会收到“无法呈现 HTML。页面加载超时。无法加载页面。”

我知道这与超时无关,因为如果我使用 Fiddler(在服务器上)执行完全相同的代码,它会完美地工作。

我怀疑这与权限有关...什么权限?我读到:“...这是因为 ABCpdf 使用 Microsoft MSHTML 组件”,但如何设置该组件的权限。我已经关闭了“IE ESC”。

我错过了什么?

最佳答案

因此,在摆弄了几乎所有设置后,结果表明 IIS 不允许从 w3wp.exe 到同一 IIS 中的同一“站点”进行 URL 调用。

这里有更多内容:http://support.microsoft.com/kb/316451

这不是“MSXML2.ServerXMLHTTP.3.0”请求,这些请求似乎有效 - 以及为什么它如此令人困惑。但在 ABC PDF 中,显然有类似的东西,因此 IIS 阻止了它......事实上,整个“站点”在失败时被锁定。

最后所需要做的就是克隆主站点(“site2”),并将解析为 ABC pdf 的 URL 更改为使用克隆站点。

关于iis - ABCpdf (AddImageUrl) 在本地主机的 IIS 7.5 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17422994/

相关文章:

c# - 如何通过 abcpdf 获取嵌入和引用字体的列表?

IIS Web 平台安装程序错误 : 'doctype' is an unexpected token. 预期 token 为 'DOCTYPE' 。 1号线,位置3

iis - ISAPI 筛选器使 IIS 崩溃

c# - 页面无法显示,因为服务器发生内部服务器错误

java - 本地主机 Java Applet 不断崩溃

python - 如何在 python 中设置本地主机?

asp.net - 使用 abcpdf 从带有 highcharts 的页面生成 PDF

javascript - 从 NTLM token Javascript 获取用户名

php - PHP容器在localhost上看不到我的应用程序

c# - abcPDF 7 将 HTML 转换为 PDF 但仅转换第一页