C# 使用PdfSignatureAppearance close时无法访问已关闭的文件
从电子签名门户返回页面后,我正在对文档进行电子签名。我正在使用此方法对文档进行电子签名,但在C# 使用PdfSignatureAppearance close时无法访问已关闭的文件,c#,asp.net,itext,C#,Asp.net,Itext,从电子签名门户返回页面后,我正在对文档进行电子签名。我正在使用此方法对文档进行电子签名,但在**外观处。关闭**我收到错误,因为无法访问关闭的文件。我不是每次都会犯这个错误,只是有时候会犯。请给出解决方案。好吧,你从某个会话中获得了所有这些成员,但他们是如何以及在什么状态下进入的?那代码可能已经关闭了一些文件吗?此外,您是否正确防止了上述代码在同一会话中执行两次,例如通过在同一会话中启动的两个签名工作流?在这种情况下,第一次执行可能会执行得很好(或者不会,可能是在错误的文档中添加了签名),而第二
**外观处。关闭**
我收到错误,因为无法访问关闭的文件。我不是每次都会犯这个错误,只是有时候会犯。请给出解决方案。好吧,你从某个会话中获得了所有这些成员,但他们是如何以及在什么状态下进入的?那代码可能已经关闭了一些文件吗?此外,您是否正确防止了上述代码在同一会话中执行两次,例如通过在同一会话中启动的两个签名工作流?在这种情况下,第一次执行可能会执行得很好(或者不会,可能是在错误的文档中添加了签名),而第二次执行会运行到一个封闭的流中。。。
PdfStamper Stamper = (PdfStamper)Session["Stamper"];
_log.Debug("Stamper " + Stamper);
PdfSignatureAppearance appearance = (PdfSignatureAppearance)Session["sap"];
_log.Debug("appearance " + appearance);
FileStream OutputStream = (FileStream)Session["OutputStream"];
_log.Debug("OutputStream " + OutputStream);
PdfReader reader = (PdfReader)Session["reader"];
_log.Debug("reader " + reader);
byte[] sigbytes = Convert.FromBase64String(sig);
_log.Debug("sigbytes " + sigbytes);
byte[] paddedSig = new byte[8192];
_log.Debug("paddedSig " + paddedSig);
Array.Copy(sigbytes, 0, paddedSig, 0, sigbytes.Length);
PdfDictionary dic2 = new PdfDictionary();
dic2.Put(PdfName.CONTENTS, new PdfString(paddedSig).SetHexWriting(true));
_log.Debug("dic2 2 " + dic2);
_log.Debug("appearance 2 " + appearance);
_log.Debug("dic2 " + dic2);
_log.Debug(lblResponse.Text);
_log.Debug("Before Close");
appearance.Close(dic2); // **At this point I am getting exception cannot access closed file**