English 中文(简体)
究竟是怎样才能将大型数据集转让给一个ASMX网络服务?
原标题:What s the best way to transfer a large dataset over an ASMX web service?

我继承了一个C# NET应用程序,该应用程序向一个网络服务机构进行会谈,并向一个Oracle数据库进行网络服务会谈。 我需要增加国库的出口功能,以生产一些数据的Excel电子表格。

我建立了网络服务功能,以管理数据库查询,将数据输入数据表,然后退回,对少数几行进行罚款。 然而,整个过程中有足够的数据显示,客户申请时间长达几分钟,然后又回去了一段时间的错误。 显然,这只是收回如此庞大的数据集的最佳途径。

在我走到前面,以一些富有活力的方式分裂这一呼吁之前,我很想知道,是否已经存在能够处理这一呼吁的内容。 当我想起一个开始出口功能时,我一再要求下50Row在没有数据之前发挥功能,但由于网络服务是无国籍的,因此我不得不将某种身份号码保留在周围并处理相关的许可。 这就意味着,我不必把整个数据集装到网络服务器记忆中,这是一件好事。

因此,如果任何人都知道如何(以表格格式)从国家空间数据基础设施网络服务中检索大量数据,请让我知道!

问题回答

几年前,我们有这种确切的商业设想,我告诉你我们做了些什么。

  1. Try to limit the amount of data transferred
  2. If you re transferring n tables, split them into n datatables and transfer one datatable at a time.
  3. Compress your dataset/datatable before transferring. This makes a huge (huge huge) impact. On the other side, decompress the byte stream back into a dataset/datatable. Don t use .NET s built in compression either - use SharpZipLib. It gives much better results.
  4. Also, you can perform the transfer asynchronously to keep the client from locking up.

我们的客户多年来一直在使用上述解决办法,没有问题。

我怀疑你只是想 call忙地把网络服务称作网络服务,因此,你的申请在万事的时候,就会阻碍国际统一组织。 查阅 并且看它是否帮助。

See “Large Data andMStransing in theDN Library.

如果你重新对大型数据转让的绩效感兴趣,则不使用亚数据和元数据交换网络服务。

我建议WCF数据服务(或现在所要求的数据)。 您可以发现一个 o点(如果你在网络服务两边都有网络网),使你具有透明度的要求旋转(服务器将答复数量限制在一次电话中,客户自动提出额外要求)。 该表还给你<代码>。 极具灵活性的低温带/代码。

问题很常见:你有许多数据可以返回用户。

如果你是幸运的,你可能会因增加网络服务时间而消失。 否则,在回复到用户时归还一页数据的解决办法是否适合你们的要求? 在这一设计中,打电话者将负责指定起首页,以及每个网页上有多少数据。

见http://www.oracle.com/technology/oramag/oracle/07-jan/o17asktom.html“rel=“nofollow noreferer”>,Pagination Queries

但是,如果你不局限于将网络服务作为一种解决办法,那么你不妨调查向用户提供报告服务的情况。 在调查这一备选方法时,明确值得你:





相关问题
Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How do I compare two decimals to 10 decimal places?

I m using decimal type (.net), and I want to see if two numbers are equal. But I only want to be accurate to 10 decimal places. For example take these three numbers. I want them all to be equal. 0....

Exception practices when creating a SynchronizationContext?

I m creating an STA version of the SynchronizationContext for use in Windows Workflow 4.0. I m wondering what to do about exceptions when Post-ing callbacks. The SynchronizationContext can be used ...

Show running instance in single instance application

I am building an application with C#. I managed to turn this into a single instance application by checking if the same process is already running. Process[] pname = Process.GetProcessesByName("...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签