Show / Hide Table of Contents

Class ConnectionPool

A pool of multiple connections using the same credentials and the same database

Inheritance
System.Object
ConnectionPool
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Innovator.Client
Assembly: Innovator.Client.dll
Syntax
public class ConnectionPool : IAsyncConnection, IConnection, IDisposable
Remarks

Because Aras uses Session State on the server, requests sent in parallel are still processed serially. The only way to overcome this is to have separate connections. This class allows you to support that transparently by wrapping any connection with a pool

Properties

| Improve this Doc View Source

AmlContext

AML context used for creating AML objects and formatting AML statements

Declaration
public ElementFactory AmlContext { get; }
Property Value
Type Description
ElementFactory
Implements
IConnection.AmlContext
| Improve this Doc View Source

Database

Name of the connected database

Declaration
public string Database { get; }
Property Value
Type Description
System.String
Implements
IConnection.Database
| Improve this Doc View Source

UserId

ID of the authenticated user

Declaration
public string UserId { get; }
Property Value
Type Description
System.String
Implements
IConnection.UserId

Methods

| Improve this Doc View Source

Create(IRemoteConnection, Int32)

Creates a connection pool with size connections.

Declaration
public static IPromise<ConnectionPool> Create(IRemoteConnection conn, int size)
Parameters
Type Name Description
IRemoteConnection conn

The connection to use as the basis.

System.Int32 size

The number of connections.

Returns
Type Description
IPromise<ConnectionPool>

A promise to return a pool logged-in of size logged in connections

| Improve this Doc View Source

CreateUploadCommand()

Creates an upload request used for uploading files to the server

Declaration
public UploadCommand CreateUploadCommand()
Returns
Type Description
UploadCommand

A new upload request used for uploading files to the server

Implements
IConnection.CreateUploadCommand()
| Improve this Doc View Source

Dispose()

Logs out of each connection

Declaration
public void Dispose()
Implements
System.IDisposable.Dispose()
| Improve this Doc View Source

MapClientUrl(String)

Expands a relative URL to a full URL

Declaration
public string MapClientUrl(string relativeUrl)
Parameters
Type Name Description
System.String relativeUrl

The relative URL

Returns
Type Description
System.String

A full URL relative to the connection

Implements
IConnection.MapClientUrl(String)
| Improve this Doc View Source

Process(Command)

Calls a SOAP action asynchronously

Declaration
public Stream Process(Command request)
Parameters
Type Name Description
Command request

Request AML and possibly files UploadCommand

Returns
Type Description
System.IO.Stream

An XML SOAP response as a string

Implements
IConnection.Process(Command)
| Improve this Doc View Source

Process(Command, Boolean)

Calls a SOAP action asynchronously

Declaration
public IPromise<Stream> Process(Command request, bool async)
Parameters
Type Name Description
Command request

Request AML and possibly files UploadCommand

System.Boolean async

Whether to perform this action asynchronously

Returns
Type Description
IPromise<System.IO.Stream>

A promise to return an XML SOAP response as a string

Implements
IAsyncConnection.Process(Command, Boolean)

Extension Methods

ConnectionExtensions.Apply(IConnection, Command, Object[])
ConnectionExtensions.ApplyAsync(IAsyncConnection, Command, Boolean, Boolean, Object[])
ConnectionExtensions.ApplyAsync(IAsyncConnection, Command, CancellationToken, Object[])
ConnectionExtensions.ApplySql(IConnection, Command, Object[])
ConnectionExtensions.ApplySql(IAsyncConnection, Command, Boolean)
ConnectionExtensions.ApplySql(IAsyncConnection, Command, CancellationToken)
ConnectionExtensions.ItemById(IConnection, String, String)
ConnectionExtensions.ItemById<T>(IConnection, String, String, Func<IReadOnlyItem, T>)
ConnectionExtensions.ItemByKeyedName(IConnection, String, String)
ConnectionExtensions.ItemByQuery(IConnection, Command)
ConnectionExtensions.ItemByQuery(IConnection, Command, Boolean)
ConnectionExtensions.Lock(IConnection, String, String)
ConnectionExtensions.NextSequence(IConnection, String)
ConnectionExtensions.Promote(IConnection, String, String, String, String)
ConnectionExtensions.Unlock(IConnection, String, String)

See Also

IAsyncConnection
  • Improve this Doc
  • View Source
Back to top Copyright © 2015-2017 Microsoft
Generated by DocFX