ABCpdf(AddImageUrl)在IIS 7.5中无法用于localhost

时间:2013-07-02 10:16:28

标签: iis localhost abcpdf

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

我们将HTML页面(发票)转换为PDF的代码现在不起作用。基础是有一个基于QueryString的URL,用HTML呈现发票,这使我们可以预览"它,然后将它发送到客户端我们使用ASP .NET来执行ABCpdf代码(从服务器调用相同的URL到服务器)。这次输出是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"。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

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

此处还有更多内容:http://support.microsoft.com/kb/316451

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

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