问题标签 [microsoft-bits]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9386 浏览

powershell-2.0 - 如何在 Powershell 中使用 BITS 上传/下载文件?

我在 Google 中找到了一些关于此的页面,但它们要么不完整,要么已过时。某处有明确的指南吗?谢谢

0 投票
3 回答
1436 浏览

service - 将 Clickonce 部署与后台智能传输服务一起使用

我们正在考虑在整个组织中为一个相当大的框架部署和更新策略。该应用程序将采用 .NET 3.5 并在 Windows XP、Vista 和 Win 7 机器上运行。我已经用过 Clickonce 几次,它确实很好用。有没有人想过,或者已经用 Clickonce 实现了 Windows 的 BITS 功能。我觉得 BITS 的涓流升级方法会使频繁的框架更新变得非常用户友好。

任何帮助表示赞赏。

0 投票
2 回答
2050 浏览

http-headers - 后台智能传输服务和 Amazon S3

我正在使用 SharpBITS 从 AmazonS3 下载文件。

它适用于不需要身份验证的文件。但是,一旦我为 AmazonS3 文件请求添加身份验证查询字符串,来自服务器的响应就是 http 状态 403 - 未授权。网址在浏览器中工作文件。

这是来自 BIT 服务的 HTTP 请求:

与来自 Web 浏览器的唯一区别是请求类型。Firefox 发出 GET 请求,BITS 发出 HEAD 请求。Amazon S3 HEAD 请求和查询字符串身份验证是否存在任何问题?

问候, 布拉兹

0 投票
3 回答
2167 浏览

.net - 通过 Win32 检索 dll 版本信息 - VerQueryValue(...) 在 Win7 x64 下崩溃

Windows BITS 服务的受人尊敬的开源 .NET 包装器实现 ( SharpBITS )无法识别 Win7 x64 下的底层 BITS 版本。

这是失败的源代码。NativeMethods 是由 .NET 方法包装并通过 DllImport 属性修饰的本机 Win32 调用。

该实现完全遵循MSDN 说明。仍然在第二次 VerQueryValue(...) 调用期间,应用程序崩溃并毫不犹豫地终止调试会话。崩溃前的更多调试信息:

  • spv => "\StringFileInfo\040904B0\ProductVersion"
  • buffer => byte[1900] - 充满二进制数据
  • 块1 => 1033
  • 块2 => 1200

我通过 Windows 查看了目标“C:\Windows\System32\qmgr.dll”文件(BITS 的实现)。它说产品版本是 7.5.7600.16385。这个值应该在 verionInfo 字符串中返回,而不是崩溃。有什么建议吗?

0 投票
5 回答
1530 浏览

.net - .NET 有 BITS 模块吗?

我一直在研究使用后台智能传输服务。我见过的大多数文章都说没有官方的 .NET 端口,但他们建议使用sharpBITS。如果必须,我会使用 sharpBITS,但我注意到所有文章都引用了 .NET 1.1 和 2.0,它们似乎是在 3.0 出现之前编写的。BITS 是添加到 3.0、3.5 还是预期会在 4.0 中?我试过用谷歌搜索,但 BITS 在编程世界中太常见了。

0 投票
1 回答
470 浏览

.net - BITS 客户端未能指定 HTTP Range 标头

我们的系统旨在部署到网络连接不可靠和/或不足的区域。我们构建了我们自己的使用BITS的容错数据复制服务。

由于一些安全和维护需求,我们在服务器端实现了自己的 ASP.NET 文件下载服务,而不是仅仅让 IIS 提供文件。当 BITS 客户端使用指定的文件范围发出 HTTP 下载请求时,我们的 ASP.NET 页面将所需的文件段拉入内存并将其作为 HTTP 响应提供。这就是理论。;) 这个理论在人工实验室场景中失败了,但我不会让系统部署在现实生活场景中,除非我们能够克服这一点。

实验室场景:我在同一台开发机器上拥有 BITS 客户端和 IIS,因此实际上我拥有巨大的网络“带宽”,而 BITS 足够智能,可以检测到这一点。随着BITS客户端发现无限带宽,它变得越来越“贪婪”。在每个 HTTP 请求中,BITS 想要获取越来越大的文件范围(我们正在谈论下载 CD iso 文件、视频),在单个 HTTP 请求中要求 20-40MB,这个大小我不愿意在服务器端一气呵成。我可以通过给予少于要求的东西来克服这一点。没关系。

然而,BITS 在没有指定下载范围的情况下获得真正“自信”和“傲慢”的文件,即它希望在单个请求中获取整个文件,这就是问题所在。对于 600MB 的文件,我不知道如何回答该响应。如果我只提供文件的起始 1MB 范围,BITS 客户端会继续发送对同一文件的 HTTP 请求而没有下载范围以继续,它强调了它想要一次性完成整个文件的观点。由于我不愿意提供整个文件,BITS 在多次尝试后放弃并报告错误。

有什么想法吗?

0 投票
2 回答
547 浏览

c# - 上传大文件

我在我的服务器上使用 Windows 服务从桌面客户端接收大文件(1 GB),当我使用它创建的 TCPClient 类它创建一个流来发送阻塞我记忆的文件时,这个问题的良好设计是什么

0 投票
2 回答
793 浏览

.net - 如何将大文件从桌面传输到服务器(.NET)

我正在编写一个基于 .NET 2.0 的桌面客户端,它将向服务器发送大文件(大大低于 2GB)。还需要开发服务器。服务器可以采用任何技术它应该是安全的,因此需要底层 SSL 流我的选择是什么。任何明显的警告等我应该知道在我看来,最简单的解决方案是通过 SSL 打开到服务器的 tcp\ip 连接并发送 n 个数据包,每个数据包大小为 M 字节,然后让服务器将块附加到文件中,最后也发送一个 EOF 数据包

有这么可怕吗。性能是否会因所有这些磁盘写入而影响服务器?还有什么其他聪明的选择。如果我确实迁移到 WCF 客户端,我仅限于客户端上的 .NET 2.0 是否会在这种情况下购买一些神奇而酷的东西谢谢

0 投票
5 回答
998 浏览

c - 以编程方式确定最大传输速率

我有一个问题需要我计算可用的最大上传和下载量,然后将我的程序的使用限制在其中的一个百分比。但是,我想不出找到最大值的好方法。

目前,我能想到的唯一解决方案是在客户端和服务器之间传输几兆字节,然后测量传输的时间。然而,这种解决方案是非常不可取的,因为对于 100,000 个客户端,它可能会导致我们服务器的带宽使用量增加过多(这已经太高了)。

有没有人有解决这个问题的方法?

请注意,我最感兴趣的是限制传输到离开 ISP 网络的数据;我认为这很可能是会导致其他程序通信降级的瓶颈发生的地方。不过,如果我错了,请纠正我。

编辑:经过进一步调查,我认为这是不可能的;离开 ISP 网络时,涉及的变量太多,无法准确测量最大传输速率。不过,如果有人想出一个准确的解决方案,请留下问题。

0 投票
2 回答
882 浏览

c# - 如何配置或扩展 BITS(后台智能传输服务)以从 Sql Server 数据库读取文件

我有一个 ASP .NET 负载平衡应用程序(Web 服务和网站)。它在 SQL 服务器上运行。我需要能够提供大文件以供下载。但是,由于负载平衡情况,文件存储在 SQL 数据库中,而不是文件系统中。BITS 似乎是最好的方法。我可以完全控制客户端。但是,我不知道如何配置 BITS 从数据库中读取文件。我知道如何为此编写 C# 代码,但我不知道如何让 BITS 挂钩,而不是从文件系统中读取文件。

有任何想法吗?