当前位置: 首页 > 知识库问答 >
问题:

露天场地的奇怪超时问题

董新觉
2023-03-14

在我从5个文档中取出任意两个文档后,DotCMIS调用停止响应。

//定义会话工厂SessionFactory factory=SessionFactory.newinstance();

//使用session factory获取默认存储库,我们将在该存储库上执行操作&在该存储库上创建session ISession session=factory.getRepositories(parameters)[0].createSession();

html" target="_blank">html" target="_blank">public ContentStream GetContentByDocumentId(string docId){ISession session;IObjectId id;IDocument doc;IContentStream ContentStream;ContentStream contentStreamModel=new ContentStream();

        try
        {
            session = GetSession();
            id = session.CreateObjectId(docId);
            doc = session.GetObject(id) as IDocument;

            // Content
            contentStream = doc.GetContentStream();

            contentStreamModel.FileName = contentStream.FileName;
            contentStreamModel.Length = contentStream.Length;
            contentStreamModel.MimeType = contentStream.MimeType;
            contentStreamModel.Stream = contentStream.Stream;

            contentStreamModel.Stream.Close();
        }
        catch (Exception ex)
        {
            throw new ApplicationException(ex.Message);
        }
        finally
        {

            session = null;
            id = null;
          //  session.Delete(id, true);
           // session.Clear();
            doc = null;
            contentStream = null;
            //contentStream.Stream.Close();
            //contentStreamModel.Stream.Close();

        }

        return contentStreamModel;
    }

在这里,我正在关闭contenet流。稍后在下面的方法中,我将尝试遍历

public static void CreateMergedPdf(string targetPdfLocation,IEnumerable docStreams){try{using(FileStream stream=new FileStream(targetPdfLocation,filemode.create)){var pdfDoc=new Document(Pagesize.a4);PdfCopy pdf=new PdfCopy(pdfDoc,stream);pdfDoc.open();

                foreach (var doc in docStreams)
                {
                    pdf.AddDocument(new PdfReader(doc));
                }

                pdfDoc.Close();
            }
        }
        catch (Exception ex)
        {
            throw new ApplicationException(ex.Message);
        }
    }

我已经将关闭连接移动到我在这里使用的方法中。

        **foreach (string docId in orderedDocIds)
        {
            // Retreive doc from Alfresco.
            var doc = GetContentByDocumentId(docId);
            docStreams.Add(doc.Stream);
            doc.Stream.Close();
        }**

       // docStreams.CopyTo(docStreams2.ToArray());



        // Created a merged pdf and drops in a temp folder.
        FileHelper.CreateMergedPdf(mergedPdfFileLocation, docStreams2);

        return mergedPdfFileLocation;

在这里我将无法访问关闭的流。有什么方法可以重新打开吗?

第三次调用createsession()时,会出现超时错误。

共有1个答案

秦博达
2023-03-14

是否消耗并关闭了文档内容流?.NET只允许每个服务器进行两个并发连接。如果不关闭流,两个连接就会用完,.NET会阻塞,直到它们关闭为止。

另见:https://issues.apache.org/jira/browse/cmis-559

 类似资料:
  • 我对EC2实例有一个奇怪的问题: 我启动一个新的 Ubuntu 实例(或任何其他实例)。 它初始化实例,我可以通过SSHping和连接,很好... 突然,我再也打不清了 :(! 我已在实例的安全组中启用了所有 TCP、UDP 和 ICMP(入站和出站)连接。但没有运气。 我还尝试过使用Putty通过SSH连接。也不走运。 我已经搜索了很多,但每个人都说安全组,我已经配置了允许所有流量。 任何帮助将

  • 问题内容: 让我们考虑以下代码: 运行此代码段时,我将显示以下输出: 为什么我会得到不同的时区? 请注意,如果我将8月的第一个日期设置为9月,将第二个日期设置为9月,则在两种情况下输出将显示相同的时区: 将显示: 我正在使用Java 1.6.0_14 问题答案: 是中欧夏季时间。它与夏令时生效相同。

  • 问题内容: 这是目录树: 在main.go中: 在client_test.go中: 错误: 我已经阅读了如何在golang中使用自定义软件包?而且我认为我有和这个人一样的解决方案,但是我只是不知道如何解决这个问题。请帮忙。 去环境: 问题答案: 命令去,测试包。 名称与文件模式“ * _test.go”匹配的文件可以包含测试函数,基准函数和示例函数。 不要使用保留名称。例如,将与贯穿始终。

  • 问题内容: 我以前从未见过这种情况,很奇怪。 我有一个针对的本地SQL Server 2012 Express数据库。使用TestDrive插件运行简单的测试套件,并使用EF v5访问数据库。 我只是运行了一个将记录插入数据库的测试。我的表中有9行,其ID为1-9。下一个插入和ID恰好跳了10000 !!!! Id列为: 我知道插入失败也会增加ID,但我可以保证在测试运行之间的5秒内没有10,00

  • 因此,在去年与react合作之后,我设法理解了它的功能和注意事项,以及如何避免不必要的渲染。 昨天我在玩一些代码,遇到了一个以前没有看到的问题,有点困惑。 在上面的代码中,我添加了一个简单的计数器,每次单击都会设置一个新的状态,这会导致重新渲染,在屏幕上显示“Count:1”,并在dev工具中显示一个“counter render”日志,就像我预期的那样。 奇怪的部分来自渲染变量,我用数字0启动(

  • 我在Chrome Developer Tools中出现这个错误已经有一段时间了,我似乎就是找不到不安全的http://请求。它指向我的域,但没有https://。http://www.example.com/不是一个脚本,所以我不明白它是从哪里来的。 内容混杂:“HTTPS://www.example.com/categoy/a-product.html”页面是通过HTTPS加载的,但请求的脚本“