ABCpdf(AddImageUrl)在本地主机的IIS 7.5中不工作

ABCpdf(AddImageUrl)在本地主机的IIS 7.5中不工作,iis,localhost,abcpdf,Iis,Localhost,Abcpdf,我们已经使用ABCpdf多年了。事实上,我们仍然使用6.1版。它一直在起作用。但我们最近升级到了Windows 2008 x64/IIS 7.5 我们将HTML页面(发票)转换为PDF的代码现在不起作用。最基本的是,有一个基于查询字符串的URL以HTML形式呈现发票,这允许我们“预览”发票,然后将其发送到客户端,我们使用ASP.NET执行ABCpdf代码(从服务器向服务器调用相同的URL)。这一次输出是PDF,这是附加到电子邮件并发送到客户端的内容 非常简单和直接的东西,对吗 这就是我们注意到的

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

我们将HTML页面(发票)转换为PDF的代码现在不起作用。最基本的是,有一个基于查询字符串的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”


我遗漏了什么?

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

这里有更多关于这方面的内容:

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

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