我的服务器上运行了一个小控制台服务,它将它的端点暴露给一个天蓝色的服务总线命名空间。我在流模式下使用 webHttpRelayBinding。我正在使用 Microsoft 示例进行测试,位于此处:http ://code.msdn.microsoft.com/windowsazure/Relayed-Messaging-Bindings-a6477ba0#content 。
我有一个控制台应用程序客户端在另一台计算机上运行,它连接到我的服务总线命名空间并调用我的服务接口。我正在使用示例调用 GetImage,在该方法中我所做的只是返回 5MB PDF 文件的流。
在托管我的服务的服务器上,我有一条 20MB 的上传/下载光纤线路。它非常开放且速度极快。当我打开浏览器并按如下方式访问我的服务时:https : //namespace.servicebus.windows.net/Image/GetImage 它会正确提取 5MB PDF 文件,但它只会以每秒 90K 到 100K 的速度将文件流式传输给我。起初我以为我受到服务器上传速度的限制,但是上下 20MB 的光纤很难证明是合理的。因此,我以 750K 的上传速度将服务移到了我的家用电脑上。我启动了服务并托管了中继。然后,我让我的一个朋友从他家的浏览器中访问了该服务,以提取相同的 5MB PDF 文件,然后发现它以每秒 90K 到 100K 的速度将文件传输给他。
我很困惑为什么会这样。有人可以在这里给我见解吗?我可以向您展示您需要的所有代码,但我认为完全描述问题并参考我正在使用的微软示例就足够了。
先感谢您。