| IQMS2SetDSPAPISettings Method |
Namespace: PIX.Services.V12.Api2
Requires membership of local group QlikView Management API and the role Document Folder Administrator. |
The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.
using System; using System.Collections.Generic; using System.Linq; using QMSAPI; class Program { static void Main(string[] args) { try { // create a QMS API client IQMS2 apiClient = new QMS2Client(); //retrieve a time limited service key ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey(); //get a list of all Directory Service Connectors ServiceInfo[] dsConnectors = apiClient.GetServices(ServiceTypes.QlikViewDirectoryServiceConnector); //get DSP settings, of the type Active Directory for the first DSC in the list DSPSettings settings = apiClient.GetDSPAPISettings(dsConnectors[0].ID, DSPType.AD); if (settings != null) { //get a dictionary of the settings for the first resource in the list Dictionary<string, string> dspDictionary = settings.Resources[0].Settings.ToDictionary(x => x.Key, x => x.Value); //print the current value for CacheExpiryInMinutes Console.WriteLine("Cache expiry in minutes before change: " + dspDictionary["CacheExpiryInMinutes"]); //change the value of CacheExpiryInMinutes dspDictionary["CacheExpiryInMinutes"] = "50"; //set and save the new settings settings.Resources[0].Settings = dspDictionary; apiClient.SetDSPAPISettings(settings); } } catch(Exception e) { Console.WriteLine("An error occured: " + e.Message); } // wait for user to press any key Console.ReadLine(); } }