首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C#的BITS (后台智能传输服务)

使用C#的BITS (后台智能传输服务)
EN

Stack Overflow用户
提问于 2015-06-24 17:49:48
回答 1查看 970关注 0票数 0

我想编写一些代码,使用比特在同一服务器上的磁盘之间复制非常大的文件(第二个磁盘是SAN级别的克隆\快照)。

我查看了一些数据,因为我认为这将是取得进展的一个好方法\%完成数据的转移,以及恢复功能等。

我有很多托管的Powershell,我想我应该尝试使用内置的位cmdlet,因为这是一种非常快速的方法,我可以编写包装器来获取我需要的东西等等,不幸的是,我遇到了这样的情况:

当您在非交互式上下文(如Windows服务)中运行的进程中使用*-BitsTransfer cmdlet时,您可能无法将文件添加到位作业中,这可能会导致挂起状态。若要继续作业,必须登录用于创建传输作业的标识。例如,当在作为任务调度器作业执行的PowerShell脚本中创建位作业时,除非启用任务计划程序的任务设置“只在用户登录时运行”,否则BITS传输将永远不会完成。

通过模拟的Powershell运行空间执行任何操作都会引发以下错误:

由于用户尚未登录到网络,因此未执行请求的操作。指定的服务不存在。(HRESULT例外: 0x800704DD)“

我的web服务是以AppPoolIdentity的形式运行的,当需要时我会模仿它。这是合理的,这不能通过托管的Powershell工作,但谁能想到一个解决办法吗?如果这是不可能的,我还有别的选择吗?

我正在考虑使用BITS作为替代方案,但是文档是古老的。

EN

回答 1

Stack Overflow用户

发布于 2015-06-27 01:30:53

你有没有想过用机器拷贝?与/ZB交换机一起运行对我来说一直都很好,您可以使用/J来提高性能,这可以为输出、与/ETA和/TEE一起运行提供无缓冲的I/O。

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

https://stackoverflow.com/questions/31033546

复制
相关文章

相似问题

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