我有一个“简单”任务。我有一个使用C#编写的Web服务的现有项目,该项目有一个将大量XML文件发送到客户端的方法。 (这是存储在服务器上的数据的备份文件,需要在其他地方发送。)此服务还设置了一些额外的认证/授权。 我有一个WIN32的现有Delphi 2007应用程序,它调用Web服务来提取XML数据以供进一步处理。这是一个遗留系统,无需.NET安装即可运行。 唯一的问题:XML文件是巨大的(至少5 MB),需要作为一个整体发送。由于系统要求,我不能把它分成多个部分。我不允许对C#或Delphi代码进行重大更改。 (我只能改变客户端和服务器上的方法调用。)我不允许花费超过8(工作)小时来提出更好的解决方案,否则事情将保持不变。通过SOAP发送二进制流
我想添加的修改是压缩XML数据(将其减少到大约100 KB),然后将其作为二进制流发送到客户端。然后,Delphi代码应该接受此传入流并再次解压缩XML数据。现在,对现有代码进行最小限度的更改,应如何完成? (是的,我过去曾写过原始的客户端和服务器,但从来不打算一次发送那么多的数据,不幸的是,从我手中接过来的开发人员有其他想法,做出了一些愚蠢的改变,做了更多的伤害,并且在我的钢管引导可以连接到他的背后之前离开公司,所以现在我需要修复一些东西。修复此Web服务与其他需要恢复的伤害相比,具有非常低的优先级。)
服务器代码基于传统的ASMX东西,客户端代码是Delphi SOAP导入的结果,并带有一些额外的修改。 XML是3000+用户的每日更新,这在当前的设计中恰好是巨大的。我们正在努力,但这需要时间。还有更重要的项目需要先解决,但正如我所说的,有很短的时间可以快速解决这个问题。
您还没有说过是否使用WCF或传统的ASMX技术。 – 2009-07-07 13:46:52
为什么不备份备份服务器文件的其余部分时XML文件?为什么要特别对待它?你*是*备份服务器,不是吗? – 2009-07-07 15:07:36