Asp.net 剑道网格-绑定到来自三个web服务的远程数据

Asp.net 剑道网格-绑定到来自三个web服务的远程数据,asp.net,kendo-ui,kendo-grid,Asp.net,Kendo Ui,Kendo Grid,是否有可能从三个web服务构建一个剑道网格(通过合并所有三个web服务后获得最终数据)?我使用的是asp.net web表单而不是MVC。是的,这是可能的,但您不应该在客户端Kendo UI数据源中执行,而应该在服务器中执行。原因是: 如果在客户机中执行,则需要实现很多代码 要做到简单,需要按顺序读取源代码 并行读取源代码需要大量代码来处理不同的读取和传输时间 您必须混合不同数据集的结果 这适用于读取,但更新和删除的代码太多了 从多个数据源使用的DB中读取数据就像连接一样简单 如果您仍然需要数据

是否有可能从三个web服务构建一个剑道网格(通过合并所有三个web服务后获得最终数据)?我使用的是asp.net web表单而不是MVC。

是的,这是可能的,但您不应该在客户端Kendo UI
数据源中执行,而应该在服务器中执行。原因是:

  • 如果在客户机中执行,则需要实现很多代码
  • 要做到简单,需要按顺序读取源代码
  • 并行读取源代码需要大量代码来处理不同的读取和传输时间
  • 您必须混合不同数据集的结果
  • 这适用于读取,但更新和删除的代码太多了
  • 从多个数据源使用的DB中读取数据就像连接一样简单
  • 如果您仍然需要数据,请尝试为每个不同的数据源定义一个数据源,并为其他三个数据源的组合定义第四个数据源

    当调用组合数据源的
    read
    操作时,在三个独立数据源中的第一个数据源上调用
    fetch
    ,在此函数的fetch函数处理程序中,在第二个数据源上调用
    fetch
    ,在第三个数据源的fetch中,创建三个接收数据的合并

    // First datasource
    var ds1 = new kendo.data.DataSource({
        ...
    });
    // Second datasource
    var ds2 = new kendo.data.DataSource({
        ...
    });
    // Third datasource
    var ds3 = new kendo.data.DataSource({
        ...
    });
    // Composed
    var ds = new kendo.data.DataSource({
       transport: {
            read: function (op) {
                 ds1.fetch(function () {
                     ds2.fetch(function () {
                         ds3.fetch(function () {
                             // Merge data from ds1, ds2 and ds3 in data
                             ... 
                             // Invoke success
                             op.success(data);
                         });
                     });
                 });
            }
       }
       ...
    }
    

    是的,这是可能的!:-)您能提供一个例子吗…在这里我可以组合三个web服务并加载到网格中。。。。