With the recent changes you now can control the lifetime of your configuration as well as have multiple configurations within a project. Configurations are self contained with their own DirectoryMapper and ConnectionFactory. You can still choose to have a global configuration by calling UseStaticStorage on LdapConfiguration.
var config = new LdapConfiguration()
.AddMapping(new AttributeClassMap<User>())
.MaxPageSizeIs(500)
.LogTo(new SimpleTextLogger(Console.Out))
.UseStaticStorage();
config.ConfigurePooledFactory("localhost")
.MaxPoolSizeIs(50)
.MinPoolSizeIs(0)
.ProtocolVersion(3);
//will look for the static Configuration property on LdapConfiguration
using (var context = new DirectoryContext())
{
}
//the next two statements construct a DirectoryContext in the same manner
using (var context = config.CreateContext())
{
}
using (var context = new DirectoryContext(config))
{
}
//will create a LdapConfiguration local to this instance.
//As a result, no mappings can be cached beyond the lifetime
//for this DirectoryContext.
using (var context = new DirectoryContext(new LdapConnection("localhost"), true))
{
}
No comments:
Post a Comment