C# 클래스 Opc.Ua.Server.SessionManager

A generic session manager object for a server.
상속: ISessionManager, IDisposable
파일 보기 프로젝트 열기: OPCFoundation/UA-.NET 1 사용 예제들

공개 메소드들

메소드 설명
ActivateSession ( OperationContext context, NodeId authenticationToken, SignatureData clientSignature, List clientSoftwareCertificates, ExtensionObject userIdentityToken, SignatureData userTokenSignature, StringCollection localeIds, byte &serverNonce ) : bool

Activates an existing session

CloseSession ( NodeId sessionId ) : void

Closes the specifed session.

This method should not throw an exception if the session no longer exists.

CreateSession ( OperationContext context, X509Certificate2 serverCertificate, string sessionName, byte clientNonce, ApplicationDescription clientDescription, string endpointUrl, X509Certificate2 clientCertificate, double requestedSessionTimeout, uint maxResponseMessageSize, NodeId &sessionId, NodeId &authenticationToken, byte &serverNonce, double &revisedSessionTimeout ) : Session

Creates a new session.

Dispose ( ) : void

Frees any unmanaged resources.

GetSessions ( ) : IList

Returns all of the sessions known to the session manager.

SessionManager ( IServerInternal server, ApplicationConfiguration configuration ) : System

Initializes the manager with its configuration.

Shutdown ( ) : void

Stops the session manager and closes all sessions.

Startup ( ) : void

Starts the session manager.

ValidateRequest ( RequestHeader requestHeader, RequestType requestType ) : OperationContext

Validates request header and returns a request context.

This method verifies that the session id valid and that it uses secure channel id associated with with current thread. It also verifies that the timestamp is not too and that the sequence number is not out of order (update requests only).

보호된 메소드들

메소드 설명
CreateSession ( OperationContext context, IServerInternal server, X509Certificate2 serverCertificate, NodeId sessionCookie, byte serverNonce, string sessionName, ApplicationDescription clientDescription, string endpointUrl, X509Certificate2 clientCertificate, double sessionTimeout, uint maxResponseMessageSize, int maxRequestAge, int maxContinuationPoints ) : Session

Creates a new instance of a session.

Dispose ( bool disposing ) : void

An overrideable version of the Dispose.

RaiseSessionEvent ( Session session, SessionEventReason reason ) : void

Raises an event related to a session.

비공개 메소드들

메소드 설명
MonitorSessions ( object data ) : void

Periodically checks if the sessions have timed out.

메소드 상세

ActivateSession() 공개 메소드

Activates an existing session
public ActivateSession ( OperationContext context, NodeId authenticationToken, SignatureData clientSignature, List clientSoftwareCertificates, ExtensionObject userIdentityToken, SignatureData userTokenSignature, StringCollection localeIds, byte &serverNonce ) : bool
context OperationContext
authenticationToken NodeId
clientSignature SignatureData
clientSoftwareCertificates List
userIdentityToken ExtensionObject
userTokenSignature SignatureData
localeIds StringCollection
serverNonce byte
리턴 bool

CloseSession() 공개 메소드

Closes the specifed session.
This method should not throw an exception if the session no longer exists.
public CloseSession ( NodeId sessionId ) : void
sessionId NodeId
리턴 void

CreateSession() 보호된 메소드

Creates a new instance of a session.
protected CreateSession ( OperationContext context, IServerInternal server, X509Certificate2 serverCertificate, NodeId sessionCookie, byte serverNonce, string sessionName, ApplicationDescription clientDescription, string endpointUrl, X509Certificate2 clientCertificate, double sessionTimeout, uint maxResponseMessageSize, int maxRequestAge, int maxContinuationPoints ) : Session
context OperationContext
server IServerInternal
serverCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
sessionCookie NodeId
serverNonce byte
sessionName string
clientDescription ApplicationDescription
endpointUrl string
clientCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
sessionTimeout double
maxResponseMessageSize uint
maxRequestAge int
maxContinuationPoints int
리턴 Session

CreateSession() 공개 메소드

Creates a new session.
public CreateSession ( OperationContext context, X509Certificate2 serverCertificate, string sessionName, byte clientNonce, ApplicationDescription clientDescription, string endpointUrl, X509Certificate2 clientCertificate, double requestedSessionTimeout, uint maxResponseMessageSize, NodeId &sessionId, NodeId &authenticationToken, byte &serverNonce, double &revisedSessionTimeout ) : Session
context OperationContext
serverCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
sessionName string
clientNonce byte
clientDescription ApplicationDescription
endpointUrl string
clientCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
requestedSessionTimeout double
maxResponseMessageSize uint
sessionId NodeId
authenticationToken NodeId
serverNonce byte
revisedSessionTimeout double
리턴 Session

Dispose() 공개 메소드

Frees any unmanaged resources.
public Dispose ( ) : void
리턴 void

Dispose() 보호된 메소드

An overrideable version of the Dispose.
protected Dispose ( bool disposing ) : void
disposing bool
리턴 void

GetSessions() 공개 메소드

Returns all of the sessions known to the session manager.
public GetSessions ( ) : IList
리턴 IList

RaiseSessionEvent() 보호된 메소드

Raises an event related to a session.
protected RaiseSessionEvent ( Session session, SessionEventReason reason ) : void
session Session
reason SessionEventReason
리턴 void

SessionManager() 공개 메소드

Initializes the manager with its configuration.
public SessionManager ( IServerInternal server, ApplicationConfiguration configuration ) : System
server IServerInternal
configuration ApplicationConfiguration
리턴 System

Shutdown() 공개 메소드

Stops the session manager and closes all sessions.
public Shutdown ( ) : void
리턴 void

Startup() 공개 메소드

Starts the session manager.
public Startup ( ) : void
리턴 void

ValidateRequest() 공개 메소드

Validates request header and returns a request context.
This method verifies that the session id valid and that it uses secure channel id associated with with current thread. It also verifies that the timestamp is not too and that the sequence number is not out of order (update requests only).
public ValidateRequest ( RequestHeader requestHeader, RequestType requestType ) : OperationContext
requestHeader RequestHeader
requestType RequestType
리턴 OperationContext