【问题标题】:Unable to connect to the remote server with HTMLworker无法使用 HTMLworker 连接到远程服务器
【发布时间】:2014-02-18 14:16:09
【问题描述】:

我正在用 C# 开发一个 Web 应用程序并使用 itextsharp.text 元素。 我对 itextsharp 及其课程非常陌生。 请帮我解决这个错误: 无法连接到远程服务器

这是我的代码和堆栈跟踪:

public void CreatePDFDocument(string strHtml) 
{
        DirectoryInfo thisFolder = new DirectoryInfo(Server.MapPath("Temp"));
        if (thisFolder.Exists)
        {
            if (File.Exists(Server.MapPath("Temp/test.pdf")))
            {
                File.Delete(Server.MapPath("Temp/test.pdf"));
            }

            thisFolder.Delete();
            thisFolder.Create();
        }
        else
        {
            thisFolder.Create();

        }
        string strFileName =Server.MapPath("Temp/test.pdf");
        // step 1: creation of a document-object
        Document document = new Document();
        // step 2:
        // we create a writer that listens to the document
        PdfWriter.GetInstance(document, new FileStream(strFileName, FileMode.Create));
        StringReader se = new StringReader(strHtml);
        HTMLWorker obj = new HTMLWorker(document);
        document.Open();
        obj.Parse(se); // this line throws error
        document.Close();
        ShowPdf(strFileName);
}

BOLD 中的行抛出错误。

这是堆栈跟踪:

发生 System.Net.WebException

HResult=-2146233079

Message=无法连接到远程服务器

来源=系统

StackTrace:在 System.Net.HttpWebRequest.GetResponse()

在 iTextSharp.text.Image.GetInstance(Uri url, Boolean 处理不正确的图像)

在 iTextSharp.text.Image.GetInstance(Uri url)

在 iTextSharp.text.Image.GetInstance(字符串文件名)

在 iTextSharp.text.html.simpleparser.ElementFactory.CreateImage(字符串 src,IDictionary2 attrs, ChainedProperties chain, IDocListener document, IImageProvider img_provider, Dictionary2 img_store,字符串 img_baseurl) 在 iTextSharp.text.html.simpleparser.HTMLWorker.CreateImage(IDictionary`2 属性)

在 iTextSharp.text.html.simpleparser.HTMLTagProcessors.HTMLTagProcessor_IMG.StartElement(HTMLWorker worker,字符串标签,IDictionary`2 attrs)

在 iTextSharp.text.html.simpleparser.HTMLWorker.StartElement(String 标签,IDictionary`2 attrs)

在 iTextSharp.text.xml.simpleparser.SimpleXMLParser.ProcessTag(布尔 开始)

在 iTextSharp.text.xml.simpleparser.SimpleXMLParser.Go(TextReader 读者)

在 iTextSharp.text.xml.simpleparser.SimpleXMLParser.Parse(ISimpleXMLDocHandler doc, ISimpleXMLDocHandlerComment 注释, TextReader r, Boolean html)

在 iTextSharp.text.html.simpleparser.HTMLWorker.Parse(TextReader 读者)

在 F:\New 中的 Payroll.PaySlip.CreatePDFDocument(String strHtml) 文件夹\EMS\EMS\Payroll\PaySlip.aspx.cs:88行

InnerException: System.Net.Sockets.SocketException

HResult=-2147467259

Message=无法建立连接,因为目标机器 主动拒绝 127.0.0.1:5510

来源=系统

错误代码=10061

NativeErrorCode=10061

StackTrace:在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)

在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& 套接字, IPAddress& 地址,ConnectSocketState 状态,IAsyncResult asyncResult, 异常&异常)

内部异常:

【问题讨论】:

    标签: c# .net itextsharp webrequest


    【解决方案1】:

    不确定没有 HTML 内容,但这是否适用于您: http://forums.asp.net/t/1841173.aspx ?

    来自该页面的引用:

    由于您的 html 字符串包含指向某些外部的图像 服务器。并且 iTextSharp 库正在尝试从那些 服务器并未能这样做,这就是您收到这些错误的原因。

    尝试在同一台机器上从浏览器访问马匹图像。

    【讨论】:

    • 感谢山姆的回复!
    • 但这并没有帮助..!我无法用一些 HTML 内容编写这个 test.pdf。 (请帮助..提前致谢)
    • 有人知道更多吗?
    • 好吧,没有太多信息可以处理。现在反应迟了,但是您是否正在使用端口 5510 在开发服务器上开发 Web 项目?如果是这样,您是否有防火墙或其他东西阻止了您的通话?该端口上似乎没有任何东西在监听..
    • No.. 我的开发服务器没有使用 5510.. 除了obj.Parse(se); 行之外,一切都运行良好。您认为我对 HTMLworker 的定义遵循正确的签名或具有正确的参数吗?虽然我以前检查过,但你的意见很重要!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    相关资源
    最近更新 更多