ReadMultiple and Key Length

ara3nara3n Member Posts: 9,256
edited 2013-02-01 in NAV Three Tier
Hello I looked at MSDN on readmultiple documentation and key is one of parameters that you can pass. It works all great but there is no info on what the max length of this string is.
string bookmarkKey = null;
List<Customer> customerList = new List<Customer>();

// Read customer data in pages of 10.
Customer[] results = service.ReadMultiple(new Customer_Filter[] { }, bookmarkKey, fetchSize);
while (results.Length > 0)
{
    bookmarkKey = results.Last().Key;
    customerList.AddRange(results);
    results = service.ReadMultiple(new Customer_Filter[] { }, bookmarkKey, fetchSize);
}

The Using this in MVC ASP.NET as a navigation parameter causes issues where the key it returns for certain records is 3802 in length it goes over the max length of IIS passed as parameter.
This for a 2009 R2.

This is the key it returns
32%3BJAAAAACLAQAAAACJ%2F1NPLTAwMDAwNDA%3D7%3B13372571%3B10%3BSalesLines58%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcQJw%3D%3D7%3B13374240%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcgTg%3D%3D7%3B13374250%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcwdQ%3D%3D7%3B13374260%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdAnA%3D%3D7%3B13374270%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdQww%3D%3D7%3B13374280%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdg6g%3D%3D7%3B13374290%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdwEQE%3D7%3B13374300%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeAOAE%3D7%3B13374310%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeQXwE%3D7%3B13374320%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeghgE%3D7%3B13374330%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIewrQE%3D7%3B13374340%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfA1AE%3D7%3B13374350%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfQ%2BwE%3D7%3B13374360%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfgIgI%3D7%3B13374370%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfwSQI%3D7%3B13374380%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcAcQI%3D7%3B13374390%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcQmAI%3D7%3B13374400%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcgvwI%3D7%3B13374410%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcw5gI%3D7%3B13374420%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdADQM%3D7%3B13374430%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdQNAM%3D7%3B13374440%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdgWwM%3D7%3B13374450%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdwggM%3D7%3B13374460%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeAqQM%3D7%3B13374470%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeQ0AM%3D7%3B13374480%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeg9wM%3D7%3B13374490%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIewHgQ%3D7%3B13374500%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfARQQ%3D7%3B13374510%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfQbAQ%3D7%3B13374520%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfgkwQ%3D7%3B13374530%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfwugQ%3D7%3B13374540%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcA4gQ%3D7%3B13374550%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcQCQU%3D7%3B13374560%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcgMAU%3D7%3B13374570%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcwVwU%3D7%3B13374580%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdAfgU%3D7%3B13374590%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdQpQU%3D7%3B13374600%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdgzAU%3D7%3B13374610%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdw8wU%3D7%3B13374620%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeAGgY%3D7%3B13374630%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeQQQY%3D7%3B13374640%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIegaAY%3D7%3B13374650%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIewjwY%3D7%3B13374660%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfAtgY%3D7%3B13374670%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfQ3QY%3D7%3B13374680%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfgBAc%3D7%3B13374690%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIfwKwc%3D7%3B13374700%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcAUwc%3D7%3B13374710%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcQegc%3D7%3B13374720%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcgoQc%3D7%3B13374730%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIcwyAc%3D7%3B13374740%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdA7wc%3D7%3B13374750%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdQFgg%3D7%3B13374760%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdgPQg%3D7%3B13374770%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIdwZAg%3D7%3B13374780%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeAiwg%3D7%3B13374790%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeQsgg%3D7%3B13374800%3B40%3BJQAAAACLAQAAAACJ%2F1NPLTAwMDAwNDAAAIeg2Qg%3D7%3B13374810%3B

Anybody has any info/documentation on this?
I looked at 2013 and the length isn't that long
Has anybody implemented Paginated List in MVC without using keys and be still able to navigate?
Thanks
Ahmed Rashed Amini
Independent Consultant/Developer


blog: https://dynamicsuser.net/nav/b/ara3n

Comments

  • ara3nara3n Member Posts: 9,256
    Found out the problem with the such long Key values. If the Page has subpages, then NAV adds the key of each sales line to the header.

    So if your sales order has 20 lines, they are all added to the key of the of header and the Key can get quite long.
    This is because you can insert sales line from salesOrder page.


    The solution is to have custom pages without the subpages and publish those.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
Sign In or Register to comment.