【问题标题】:XMLWorkerHelper does not contain a constructor that takes 0 arguments in c#XMLWorkerHelper 不包含在 c# 中采用 0 个参数的构造函数
【发布时间】:2020-02-16 04:30:27
【问题描述】:

我正在尝试使用 mvc4 中的 html 模板生成 pdf 我添加了 xmlworker 包并编写了以下代码。 我将构建我的解决方案,然后显示以下错误。 XMLWorkerHelper 不包含采用 0 个参数的构造函数 请建议我... 控制器:-

 public void abcd()
            {
                try
                {
                    string UniqueNumber = Request.QueryString["UniqueNumber"];
                    string strFileName = UniqueNumber;
                    string strFileExtension = ".pdf";
                    string strContentType = FileManager.FileContentType_application_pdf;
                    string strExportData = string.Empty;
                    Document pdfDoc = new Document(PageSize.A4, 43f, 50f, 5f, 50f);
                    HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
                    var output = new MemoryStream();
                    StringWriter sw = new StringWriter();
                    XMLWorkerHelper htw = new XMLWorkerHelper();
                    StringReader sr;
                    sr = new StringReader(Convert.ToString(ExportData.UserDetails(UniqueNumber)));
                    PdfWriter.GetInstance(pdfDoc, output);
                    pdfDoc.Open();
                    htmlparser.Parse(sr);
                    pdfDoc.Close();
                    strFileName = strFileName.Replace(" - ", "-").Replace(" ", "-").Replace("--", "-");
                    Response.ClearContent();
                    Response.Buffer = true;
                    Response.AddHeader("content-disposition", string.Format("attachment; filename={0}{1}",                 strFileName, strFileExtension));
                    Response.ContentType = strContentType;
                    Response.Charset = "";
                    Response.BinaryWrite(output.ToArray());
                    Response.Flush();
                    Response.End();

                }
                catch (Exception ex)
                {
                    //

                }
            }

【问题讨论】:

  • XMLWorkerHelper 没有带有 0 或 1 个参数的构造函数。您应该右键单击它和Go To Definition 以查看它确实具有哪些构造函数。并使用该构造函数(传入它期望的参数数量)。

标签: c# xmlworker


【解决方案1】:

看起来在这个程序集 Dip 中使用了单例模式。

请将您当前的代码 XMLWorkerHelper htw = new XMLWorkerHelper(); 替换为此 XMLWorkerHelper htw = XMLWorkerHelper.GetInstance(); 并试一试。

作为旁注,您可能需要查看IDisposable 接口。检查您正在“新建”的任何对象是否实现并处理它们。

【讨论】:

猜你喜欢
  • 2013-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 2011-11-06
  • 2013-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多