首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C# ZipArchive Reference破坏了WIndows服务TImer

C# ZipArchive Reference破坏了WIndows服务TImer
EN

Stack Overflow用户
提问于 2018-06-27 02:12:53
回答 2查看 37关注 0票数 0

我是新来的,也是C#的新手。我在一家零售商工作,今年之前一直在visual Studio6中工作,但现在我正在自学c#,重写过去21年来我所做的一切。你不希望你是我吗?:{

无论如何,我有一个Windows服务,它定期执行一系列创建文件的作业。当这些作业完成时,该服务将根据它们创建一个zip文件,并通知公司的服务器收集并删除该zip文件。我已经在这个服务上挣扎了几天了,因为计时器事件不会触发。因此,我将其简化为裸机--一个计时器和一个事件处理程序--并且成功了。然后,我开始在worker代码中一次添加一点,直到我缩小到导致问题的代码部分。这是ZipArchive调用。在我取消注释以下代码之前,一切都会正常工作,特别是"using ( var archive ... )“区块

代码语言:javascript
复制
var transmissionFiles = Directory.GetFiles( _uploadDirectory, "*.trx" );
if (transmissionFiles.Length > 0)
{
    using (var zipfile = new FileStream( $"{_uploadDirectory}zp" +
        $"{DateTime.Now:yyyyMMdd}.{_storeNumber:D4}.{DateTime.Now:HHmmss}", FileMode.Open ))
    {
        using (var archive = new ZipArchive( zipfile, ZipArchiveMode.Update ))
        {
            foreach (var tFile in transmissionFiles)
            {
                archive.CreateEntry( tFile );
                File.Delete( tFile );
            }
        }
    }
}

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-27 04:14:49

通过将ZipArchive引用移动到单独的方法来解决。在计时器事件处理程序中使用这些调用不起作用。怪异

票数 0
EN

Stack Overflow用户

发布于 2018-06-27 02:33:12

使用CreateFromDirectory(String, String)存档目录

MSDN

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51049157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档