Assembly: ININ.IceLib (in ININ.IceLib.dll) Version: 0.0.0.0 (22.3.0.218)
Syntax
C# |
---|
public class Session : IDisposable |
Visual Basic |
---|
Public Class Session _ Implements IDisposable |
Remarks
The Session is the root of any IceLib connection with the IC server. It accepts various settings to describe the session and provides events when there is a change in connection settings or connection state.
Host Settings. The HostSettings is used to specify the host information used to establish a Session connection.
Authentication Settings. There are a number of object classes that are used to specify authentication settings for the Session such as what IC User ID and Password to login with. All such objects inherit from AuthSettings. Examples of authentication classes are: ICAuthSettings and WindowsAuthSettings.
Station Settings. There are a number of object classes that are used to specify station settings for the Session such as what remote number is serving as the User's station. All such objects inherit from StationSettings. Examples of station classes are: WorkstationSettings and RemoteStationSettings. There are additional considerations that need to be taken into account when using StationlessSettings. See the StationlessSettings object for further details.
Examples
// The IceLib Session can be created once and used for the life of the process. Session session = new Session(); // An event handler is usually added to monitor connection state changes. session.ConnectionStateChanged += delegate { /* React to connection state changes. */ }; // The application name can be displayed in Interaction Supervisor and is used for diagnostic operations. SessionSettings sessionSettings = new SessionSettings(); sessionSettings.ApplicationName = "<Custom Application Name>"; // Specify the server being connected to (which is usually the IC server name). // (It can also be a DNS "A" record that refers to both IC servers in a switchover pair.) HostEndpoint hostEndpoint = new HostEndpoint("<IC Server Name>"); HostSettings hostSettings = new HostSettings(hostEndpoint); // There are many options for specifying user authentication information. // (See the derived classes of ININ.IceLib.Connection.AuthSettings for more information.) // // The current windows user's windows authentication can be used (if the IC user is configured with NT credentials). WindowsAuthSettings authSettings = new WindowsAuthSettings(); // Alternatively, IC authentication can be used. ICAuthSettings icAuthSettings = new ICAuthSettings("<IC_User_LoginID>", "<IC_User_Password>"); // There are many options for specifying IC station information. // (See the derived classes of ININ.IceLib.Connection.StationSettings for more information.) // // If the application does not require a Station login, a simple "stationless" connection can be used. StationlessSettings stationSettings = new StationlessSettings(); // Alternatively, an IC station could be specified. WorkstationSettings workstationSettings = new WorkstationSettings("<IC_StationID>", SupportedMedia.Call); // Or, a dynamic remote number station could be specified. RemoteNumberSettings remoteNumberSettings = new RemoteNumberSettings(SupportedMedia.Call, "555-555-5555", true); // Note: Consider using the ConnectAsync method to avoid blocking the thread. session.Connect(sessionSettings, hostSettings, authSettings, stationSettings);
Examples
Note |
---|
All "manager" classes found in the IceLib library are designed as singletons-classes instantiated only once. For example, to begin working with any of the functionality provided in the ININ.IceLib.Interactions.InteractionsManager, you must obtain the instance through a call to its GetInstance method. |
Session session = new Session();
session.Connect(...);
InteractionsManager interactionsManager = InteractionsManager.GetInstance(session);
Examples
Project | Location |
---|---|
TutorialExample | ConnectionViewModel.cs, line 197, in ConnectionViewModel.SetSessionValues |
ConnectionViewModel.cs, line 12, in ConnectionViewModel.#ctor | |
ConnectionViewModel.cs, line 214, in ConnectionViewModel.SetStationValues | |
ConnectionViewModel._Session | |
ChangeStationViewModel.cs, line 11, in ChangeStationViewModel.#ctor | |
ChangeStationViewModel.cs, line 107, in ChangeStationViewModel.PerformLogin | |
LoginViewModel.cs, line 191, in LoginViewModel.PerformLogin | |
LoginViewModel.cs, line 11, in LoginViewModel.#ctor | |
SystemStatisticsViewModel.cs, line 38, in SystemStatisticsViewModel.#ctor | |
SystemStatisticsViewModel._Session | |
StatisticCatalogViewModel.cs, line 12, in StatisticCatalogViewModel.#ctor | |
StatisticCatalogViewModel._Session | |
UserRoleConfigurationViewModel.cs, line 22, in UserRoleConfigurationViewModel.#ctor | |
UserRoleConfigurationViewModel._Session | |
MainWindowViewModel.cs, line 22, in MainWindowViewModel.#ctor |
Inheritance Hierarchy
ININ.IceLib.Connection..::..Session
Version Information
For 4.0, supported for IC Server version 4.0 GA and beyond.
For 3.0, supported for IC Server version 3.0 GA and beyond.