I am working on a .Net application that connects to Sense Engine API through Proxy.
I want to programmatically apply a filter to a specified App Field, then I want to see the same selection in the same App opened in a web browser (with the same userid used to connecto to Engine API).
In short terms i want to replicate the same behaviour of two different browser while presenting the same App, if I apply a filter in one browser I can see the selection reflected to second browser.
I dont know why this doesen't work for the session opened with Engine API (it seems a completely separated session).
I am sure that field filtering works because if I programmatically create a snapshot after a selection I can see the snapshotted object with the right filter applyed (but for the problem with session if I want to see the snapshot taht I created with ENGINE API I have first to close all opened session for the user then, when i open again the App in a browser, I can see all the snapshots).
My code for connection (at the moment I using connection via proxy but I have tryed all possible way to connect with the same result):
var aI = location.AppWithId(MyAppId, noVersionCheck: true);
// Default session should beshared with clients
var defaultSession = Session.WithApp(aI, SessionType.Default);
using (var app = location.App(aI, session: defaultSession, noVersionCheck: true))
var field = app.GetField(MyFieldName);
if (field == null) return false;
var result = field.Select(value, true);
var extendedSel = app.GetExtendedCurrentSelection();
var selectedIndex = 0;
foreach (var nxDataPage in extendedSel.GetField(MyFieldName).DataPages)
foreach (var rows in nxDataPage.Matrix)
var cell = rows.FirstOrDefault();
if (cell != null)
if (cell.State == Qlik.Engine.StateEnumType.SELECTED)
I am investigating the the differences between headers passed from web browser to the Sense Server the headers that .NET Sdk creates in its request. They are different but I am not so expert in web requests.
Can you help me to understand what headers i have to emulate ( and if the route, as you mentioned in your reply, is the part of the string at the right of 'GET' command).