Client

To be able to communicate with ImageVault core you need a client.

Configuration

The client is configured using the imagevault.client.config file and configuration is described in detail on the Client configuration page.

Creating

To create a client, use the ClientFactory class and use one of the static methods.

GetSdkClient

This is the most common usage for retrieving a client.

var client = ClientFactory.GetSdkClient();

The GetSdkClient should be used when you need full access (depending on the access level of the client credentials) to ImageVault or need to create public urls.

GetCurrentUserClient

This client can be used if you need to apply the current user access rights for the request to ImageVault core.

var client = ClientFactory.GetCurrentUserClient();

When using the GetCurrentUserClient you will produce internal urls and the result will be filtered by the users access rights so only the media available to the user (and the client) will be displayed.

Using the Client constructor

You can also use the Client constructor but then you need to set all configuration by yourself and pass it to the constructor.

var config = new ClientConfigurationSection();
config.Authentication.SdkIdentity.Key = "demouser";
config.Authentication.SdkIdentity.Secret = "P@55w0rd!";
config.ImageVaultCore.Address = "https://imagevault.se:9904";
var client = new Client(config);

Internal vs Public media urls

If you specify the PublishIdentifier you will get public media urls. If it isn't defined, you will get internal urls.

When requesting a client using the GetCurrentUserClient, the PublishIdentifier is not set.

When requesting a client using the GetSdkClient the PublishIdentifier is automatically populated with the value from the SdkPublishIdentifier (or the SdkPublishIdentifierGenerator).

Read more about media urls in the documentation.

Note: A publish identifier is also the key that identifies a site and you cannot have more different publishing sites than your license allows.

comments powered by Disqus