SuperHttpServerChannel
Overview
The SuperHttpServerChannel class is a base class for the server side of the sophisticated and flexible HTTP based communication channel, which uses persistent connections to enable true asynchronous calls and server callbacks. This channel offers the same two-way communication features as the Super TCP Channel, but works through HTTP, thus allowing it to pass through strict proxies and firewalls.
It is the base class for SuperHttpWebProcessor, HttpSysSuperHttpServerChannel and IpSuperHttpServerChannel classes and provides methods, properties and events common for all Super HTTP based server channels.
Location
- Reference: RemObjects.SDK.Server.dll
- Namespace: RemObjects.SDK.Server
- Ancestry: Component | Channel | ServerChannel | HttpServerChannel | SuperHttpServerChannel
constructor protected
Creates a new instance of the SuperHttpServerChannel class.
constructor
SuperHttpServerChannel()
Sub New()
constructor (IContainer) protected
Creates a new instance of the SuperHttpServerChannel class and adds it to the provided container.
constructor(container: IContainer)
SuperHttpServerChannel(IContainer container)
Sub New(container As IContainer)
Parameters:
- container: Components container
Active (declared in ServerChannel)
Toggles whether the server component is active or not. Set it to true (either from code or in the Property Pane) to have your server active and listening for requests from clients or set it to false to prevent new requests from being accepted.
property Active: Boolean read write;
Boolean Active { get; set; }
Property Active() As Boolean
AdjustConvertedRodl (declared in ServerChannel)
event AdjustConvertedRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> AdjustConvertedRodl()
Event AdjustConvertedRodl As EventHandler<RodlEventArgs>
AdjustRodl (declared in ServerChannel)
event AdjustRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> AdjustRodl()
Event AdjustRodl As EventHandler<RodlEventArgs>
AfterClose (declared in ServerChannel)
event AfterClose: EventHandler;
delegate EventHandler AfterClose()
Event AfterClose As EventHandler
AfterOpen (declared in ServerChannel)
event AfterOpen: EventHandler;
delegate EventHandler AfterOpen()
Event AfterOpen As EventHandler
AfterReceiveStream (declared in Channel)
This event is triggered by client and server channels directly after a request or response stream has been received and before the stream gets parsed into a message. User code can assign handlers to this event to process, inspect or modify incoming messages, before they get handled by the Remoting SDK framework. The passed Stream is a MemoryStream and may be modified.
If no handlers are assigned to the AfterReceiveStream event, the message will load the data directly from the incoming medium (usually the network stream); assigning event handlers to AfterReceiveStream will induce a slight overhead as the data will first be copied into a local memory buffer for the event handler. This should not have any noticeably effect except for very large messages or on resource-limited systems such as Compact Framework Clients, but if utmost performance is important, take this note into consideration.
event AfterReceiveStream: EventHandler<StreamEventArgs>;
delegate EventHandler<StreamEventArgs> AfterReceiveStream()
Event AfterReceiveStream As EventHandler<StreamEventArgs>
BeforeClose (declared in ServerChannel)
event BeforeClose: EventHandler;
delegate EventHandler BeforeClose()
Event BeforeClose As EventHandler
BeforeOpen (declared in ServerChannel)
event BeforeOpen: EventHandler;
delegate EventHandler BeforeOpen()
Event BeforeOpen As EventHandler
BeforeSendStream (declared in Channel)
This event is triggered by client and server channels directly before a request or response stream will be sent over the network. User code can assign handlers to this event to process, inspect or modify incoming messages before they get sent out to the remote system.
The passed Stream is a MemoryStream and may be modified.
event BeforeSendStream: EventHandler<StreamEventArgs>;
delegate EventHandler<StreamEventArgs> BeforeSendStream()
Event BeforeSendStream As EventHandler<StreamEventArgs>
ChannelType
Gets channel kind name. This property is used, for example, to describe the kind of the server channel when the server application registers its services in ZeroConf environment.
The value of this property is superhttp
property ChannelType: String read;
String ChannelType { get; }
ReadOnly Property ChannelType() As String
Close (declared in ServerChannel)
Closes the ServerChannel component and stops it from accepting any more incoming requests.
method Close
void Close()
Sub Close()
CloseChannel protected
method CloseChannel
void CloseChannel()
Sub CloseChannel()
CloseHttpChannel protected (declared in HttpServerChannel)
method CloseHttpChannel
void CloseHttpChannel()
Sub CloseHttpChannel()
ConnectionTimeout
Gets or sets timeout (in seconds) after which the idle connection will be closed.
The default value is 300 (i.e. 5 minutes).
property ConnectionTimeout: Int32 read write;
Int32 ConnectionTimeout { get; set; }
Property ConnectionTimeout() As Int32
CopyProperties protected (declared in Channel)
method CopyProperties(source: Channel)
void CopyProperties(Channel source)
Sub CopyProperties(source As Channel)
Parameters:
- source:
CustomClientAccessPolicy (declared in HttpServerChannel)
event CustomClientAccessPolicy: EventHandler<ClientAccessPolicyEventArgs>;
delegate EventHandler<ClientAccessPolicyEventArgs> CustomClientAccessPolicy()
Event CustomClientAccessPolicy As EventHandler<ClientAccessPolicyEventArgs>
CustomParameters (declared in ServerChannel)
property CustomParameters: IDictionary<String, String> read;
IDictionary<String, String> CustomParameters { get; }
ReadOnly Property CustomParameters() As IDictionary<String, String>
DecodeAuthCredentials (declared in HttpServerChannel)
class method DecodeAuthCredentials(encodedCredentials: String; out username: String; out password: String; out bearer: String)
static void DecodeAuthCredentials(String encodedCredentials, out String username, out String password, out String bearer)
Shared Sub DecodeAuthCredentials(encodedCredentials As String, <OutAttribute> ByRef username As String, <OutAttribute> ByRef password As String, <OutAttribute> ByRef bearer As String)
Parameters:
- encodedCredentials:
- username:
- password:
- bearer:
Dispatch protected (declared in ServerChannel)
method Dispatch(message: IMessage; channelInfo: IServerChannelInfo)
void Dispatch(IMessage message, IServerChannelInfo channelInfo)
Sub Dispatch(message As IMessage, channelInfo As IServerChannelInfo)
Parameters:
- message:
- channelInfo:
Dispatchers (declared in ServerChannel)
Organizes the different Dispatchers configured for the server. Depending on the server type, different dispatchers can be made accessible through different names (for example the HTTP based servers use the Path provided with the HTTP request to determine the dispatcher) or the dispatcher marked as Default will be used. Note: A design time editor for the Dispatcher collection is provided in the IDE, which you can invoke by clicking the ellipsis (...) button in the Properties Pane. You can use this editor to create new MessageDispatcher instances at design time and link them to the specific message components you have dropped onto your form.
property Dispatchers: MessageDispatchers read;
MessageDispatchers Dispatchers { get; }
ReadOnly Property Dispatchers() As MessageDispatchers
Dispose protected
Disposes of the current server channel instance.
method Dispose(disposing: Boolean)
void Dispose(Boolean disposing)
Sub Dispose(disposing As Boolean)
Parameters:
- disposing: True to release both managed and unmanaged resources; false to release only unmanaged resources
ExtendedDispatchers (declared in HttpServerChannel)
Gets list of extended dispatchers attached to the server channel instance.
Extended dispatchers are dispatchers that perform special tasks other than calling server services. A good example of an extended dispatcher is JavaScriptHttpDispatcher dispatcher.
property ExtendedDispatchers: ExtendedDispatcherList read;
ExtendedDispatcherList ExtendedDispatchers { get; }
ReadOnly Property ExtendedDispatchers() As ExtendedDispatcherList
FormatErrorMessage (Boolean, Exception): HttpErrorMessage protected (declared in HttpServerChannel)
method FormatErrorMessage(plainText: Boolean; exception: Exception): HttpErrorMessage
HttpErrorMessage FormatErrorMessage(Boolean plainText, Exception exception)
Function FormatErrorMessage(plainText As Boolean, exception As Exception) As HttpErrorMessage
Parameters:
- plainText:
- exception:
FormatErrorMessage (Boolean, String): HttpErrorMessage protected (declared in HttpServerChannel)
method FormatErrorMessage(plainText: Boolean; message: String): HttpErrorMessage
HttpErrorMessage FormatErrorMessage(Boolean plainText, String message)
Function FormatErrorMessage(plainText As Boolean, message As String) As HttpErrorMessage
Parameters:
- plainText:
- message:
GetClientAccessPolicy protected (declared in HttpServerChannel)
method GetClientAccessPolicy: String
String GetClientAccessPolicy()
Function GetClientAccessPolicy() As String
GetDispatcherFromRequestPath protected (declared in HttpServerChannel)
class method GetDispatcherFromRequestPath(path: String): String
static String GetDispatcherFromRequestPath(String path)
Shared Function GetDispatcherFromRequestPath(path As String) As String
Parameters:
- path:
GetFavIconStream protected (declared in HttpServerChannel)
method GetFavIconStream: Stream
Stream GetFavIconStream()
Function GetFavIconStream() As Stream
GetMessageDispatcher protected (declared in HttpServerChannel)
method GetMessageDispatcher(fullPath: String; rootPath: String): MessageDispatcher
MessageDispatcher GetMessageDispatcher(String fullPath, String rootPath)
Function GetMessageDispatcher(fullPath As String, rootPath As String) As MessageDispatcher
Parameters:
- fullPath:
- rootPath:
GetPath protected
method GetPath(context: IServerChannelInfo): String
String GetPath(IServerChannelInfo context)
Function GetPath(context As IServerChannelInfo) As String
Parameters:
- context:
GetQueryParameter protected
method GetQueryParameter(context: IServerChannelInfo; parameterName: String): String
String GetQueryParameter(IServerChannelInfo context, String parameterName)
Function GetQueryParameter(context As IServerChannelInfo, parameterName As String) As String
Parameters:
- context:
- parameterName:
GetQueryString protected
method GetQueryString(context: IServerChannelInfo): QueryString
QueryString GetQueryString(IServerChannelInfo context)
Function GetQueryString(context As IServerChannelInfo) As QueryString
Parameters:
- context:
GetRodl (declared in ServerChannel)
event GetRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> GetRodl()
Event GetRodl As EventHandler<RodlEventArgs>
GetServerMetaData protected (declared in HttpServerChannel)
method GetServerMetaData(context: Object; dispatcher: MessageDispatcher; path: String; queryString: QueryString; out contentType: String): Stream
Stream GetServerMetaData(Object context, MessageDispatcher dispatcher, String path, QueryString queryString, out String contentType)
Function GetServerMetaData(context As Object, dispatcher As MessageDispatcher, path As String, queryString As QueryString, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- path:
- queryString:
- contentType:
GetServerRodl protected (declared in ServerChannel)
method GetServerRodl(context: Object; dispatcher: MessageDispatcher; serviceGroups: String; out contentType: String): Stream
Stream GetServerRodl(Object context, MessageDispatcher dispatcher, String serviceGroups, out String contentType)
Function GetServerRodl(context As Object, dispatcher As MessageDispatcher, serviceGroups As String, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- serviceGroups:
- contentType:
GetServiceMetaData protected (declared in ServerChannel)
method GetServiceMetaData(context: Object; dispatcher: MessageDispatcher; serviceName: String; options: Hashtable; out contentType: String): Stream
Stream GetServiceMetaData(Object context, MessageDispatcher dispatcher, String serviceName, Hashtable options, out String contentType)
Function GetServiceMetaData(context As Object, dispatcher As MessageDispatcher, serviceName As String, options As Hashtable, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- serviceName:
- options:
- contentType:
HasAfterReceiveStream protected (declared in Channel)
property HasAfterReceiveStream: Boolean read;
Boolean HasAfterReceiveStream { get; }
ReadOnly Property HasAfterReceiveStream() As Boolean
HasBeforeSendStream protected (declared in Channel)
property HasBeforeSendStream: Boolean read;
Boolean HasBeforeSendStream { get; }
ReadOnly Property HasBeforeSendStream() As Boolean
HtmlServerInfo (declared in HttpServerChannel)
property HtmlServerInfo: HtmlServerInfo read write;
HtmlServerInfo HtmlServerInfo { get; set; }
Property HtmlServerInfo() As HtmlServerInfo
Initializing protected (declared in ServerChannel)
property Initializing: Boolean read;
Boolean Initializing { get; }
ReadOnly Property Initializing() As Boolean
IS_TRIAL_MODE protected (declared in ServerChannel)
const IS_TRIAL_MODE: Boolean = False;
const Boolean IS_TRIAL_MODE = False
Dim IS_TRIAL_MODE As Boolean = False
IsClientAccessPolicyRequested protected (declared in HttpServerChannel)
class method IsClientAccessPolicyRequested(request: String): Boolean
static Boolean IsClientAccessPolicyRequested(String request)
Shared Function IsClientAccessPolicyRequested(request As String) As Boolean
Parameters:
- request:
IsCustomCrossOriginAvailable protected (declared in HttpServerChannel)
property IsCustomCrossOriginAvailable: Boolean read;
Boolean IsCustomCrossOriginAvailable { get; }
ReadOnly Property IsCustomCrossOriginAvailable() As Boolean
IsServerDocumentationPageRequested protected (declared in HttpServerChannel)
class method IsServerDocumentationPageRequested(isInfoPageEnabled: Boolean; request: String): Boolean
static Boolean IsServerDocumentationPageRequested(Boolean isInfoPageEnabled, String request)
Shared Function IsServerDocumentationPageRequested(isInfoPageEnabled As Boolean, request As String) As Boolean
Parameters:
- isInfoPageEnabled:
- request:
IsServerFavIconRequested protected (declared in HttpServerChannel)
class method IsServerFavIconRequested(isInfoPageEnabled: Boolean; request: String): Boolean
static Boolean IsServerFavIconRequested(Boolean isInfoPageEnabled, String request)
Shared Function IsServerFavIconRequested(isInfoPageEnabled As Boolean, request As String) As Boolean
Parameters:
- isInfoPageEnabled:
- request:
IsServerInfoPageRequested protected (declared in HttpServerChannel)
class method IsServerInfoPageRequested(isInfoPageEnabled: Boolean; request: String): Boolean
static Boolean IsServerInfoPageRequested(Boolean isInfoPageEnabled, String request)
Shared Function IsServerInfoPageRequested(isInfoPageEnabled As Boolean, request As String) As Boolean
Parameters:
- isInfoPageEnabled:
- request:
IsTlsEnabled (declared in ServerChannel)
property IsTlsEnabled: Boolean read;
Boolean IsTlsEnabled { get; }
ReadOnly Property IsTlsEnabled() As Boolean
MaxPackageSize
Gets or sets the maximum size of the data package the server will accept.
The default value is 1048576 (1MB).
property MaxPackageSize: Int32 read write;
Int32 MaxPackageSize { get; set; }
Property MaxPackageSize() As Int32
Messages (declared in ServerChannel)
property Messages: IList<String> read;
IList<String> Messages { get; }
ReadOnly Property Messages() As IList<String>
OnCustomCrossOrigin (declared in HttpServerChannel)
event OnCustomCrossOrigin: EventHandler<CustomCrossOriginEventArgs>;
delegate EventHandler<CustomCrossOriginEventArgs> OnCustomCrossOrigin()
Event OnCustomCrossOrigin As EventHandler<CustomCrossOriginEventArgs>
Open (declared in ServerChannel)
Opens the ServerChannel component and starts accepting incoming requests. Depending on the server type, this usually involves starting to listen on a network socket or polling some source for waiting messages.
method Open
void Open()
Sub Open()
OpenChannel protected
method OpenChannel
void OpenChannel()
Sub OpenChannel()
OpenHttpChannel protected (declared in HttpServerChannel)
method OpenHttpChannel
void OpenHttpChannel()
Sub OpenHttpChannel()
PROBE_REQUEST protected (declared in ServerChannel)
const PROBE_REQUEST: String = "PROBE";
const String PROBE_REQUEST = "PROBE"
Dim PROBE_REQUEST As String = "PROBE"
PROBE_REQUEST_LENGTH protected (declared in ServerChannel)
const PROBE_REQUEST_LENGTH: Int32 = 5;
const Int32 PROBE_REQUEST_LENGTH = 5
Dim PROBE_REQUEST_LENGTH As Int32 = 5
PROBE_RESPONSE_LENGTH protected (declared in ServerChannel)
const PROBE_RESPONSE_LENGTH: Int32 = 8;
const Int32 PROBE_RESPONSE_LENGTH = 8
Dim PROBE_RESPONSE_LENGTH As Int32 = 8
ProcessRequest protected
method ProcessRequest(context: IServerChannelInfo; requestHeaders: HttpHeaders; path: String; data: array of Byte; socket: Socket)
void ProcessRequest(IServerChannelInfo context, HttpHeaders requestHeaders, String path, Byte[] data, Socket socket)
Sub ProcessRequest(context As IServerChannelInfo, requestHeaders As HttpHeaders, path As String, data As Byte(), socket As Socket)
Parameters:
- context:
- requestHeaders:
- path:
- data:
- socket:
ProcessUnknownHttpRequest protected
method ProcessUnknownHttpRequest(context: IServerChannelInfo; requestHeaders: HttpHeaders; path: String; data: array of Byte): Boolean
Boolean ProcessUnknownHttpRequest(IServerChannelInfo context, HttpHeaders requestHeaders, String path, Byte[] data)
Function ProcessUnknownHttpRequest(context As IServerChannelInfo, requestHeaders As HttpHeaders, path As String, data As Byte()) As Boolean
Parameters:
- context:
- requestHeaders:
- path:
- data:
QUERY_SERVICEGROUP protected (declared in HttpServerChannel)
const QUERY_SERVICEGROUP: String = "servicegroup";
const String QUERY_SERVICEGROUP = "servicegroup"
Dim QUERY_SERVICEGROUP As String = "servicegroup"
Register (declared in HttpServerChannel)
method Register(dispatcher: IHttpDispatcher)
void Register(IHttpDispatcher dispatcher)
Sub Register(dispatcher As IHttpDispatcher)
Parameters:
- dispatcher:
RemoveQueryParameters protected (declared in HttpServerChannel)
class method RemoveQueryParameters(path: String): String
static String RemoveQueryParameters(String path)
Shared Function RemoveQueryParameters(path As String) As String
Parameters:
- path:
ResponseFailed protected
This method is called when a response has not been succesfully sent to the client. If the userData contains waiting connections then the server channel will attempt to send a response using them, otherwise the data will be enqueued in the response queue.
method ResponseFailed(userData: SuperHttpServerResponse)
void ResponseFailed(SuperHttpServerResponse userData)
Sub ResponseFailed(userData As SuperHttpServerResponse)
Parameters:
- userData: SuperHttp response data
SecurityOptions (declared in HttpServerChannel)
Gives access to server security options of this server channel instance. Using this property, you can set up MaxRequestSize, MaxRequestTime etc.
property SecurityOptions: ServerSecurityOptions read write;
ServerSecurityOptions SecurityOptions { get; set; }
Property SecurityOptions() As ServerSecurityOptions
SendClientAccessPolicyXml (declared in HttpServerChannel)
Determines how the server channel should handle requests for clientaccesspolicy.xml (security policy file used by Silverlight). Can be set to:
- AllowNone (deny all requests).
- AllowAll (allow all requests).
- Custom (provides a custom security policy file via OnCustomClientAccessPolicy event handler).
property SendClientAccessPolicyXml: ClientAccessPolicyType read write;
ClientAccessPolicyType SendClientAccessPolicyXml { get; set; }
Property SendClientAccessPolicyXml() As ClientAccessPolicyType
SendCrossOriginHeader (declared in HttpServerChannel)
Gets or sets a flag indicating whether the server should handle the incoming CORS requests or ignore them.
property SendCrossOriginHeader: Boolean read write;
Boolean SendCrossOriginHeader { get; set; }
Property SendCrossOriginHeader() As Boolean
SendExceptionsAs500 (declared in HttpServerChannel)
If set to true, messages about exceptions occurred on the server will be sent with a HTTP Error 500 header set (standard HTTP header for internal server errors).
property SendExceptionsAs500: Boolean read write;
Boolean SendExceptionsAs500 { get; set; }
Property SendExceptionsAs500() As Boolean
SendResponse protected
Sends an Http response data back to the client. Concrete implementation depends on the low-level Http connection implementation used by the concrete implementation of the SuperHttp server channel.
protected abstract
method SendResponse(context: IServerChannelInfo; responseData: array of Byte; responseHeaders: HttpHeaders; userData: SuperHttpServerResponse)
void SendResponse(IServerChannelInfo context, Byte[] responseData, HttpHeaders responseHeaders, SuperHttpServerResponse userData)
Sub SendResponse(context As IServerChannelInfo, responseData As Byte(), responseHeaders As HttpHeaders, userData As SuperHttpServerResponse)
Parameters:
- context: Request context
- responseData: Response contents
- responseHeaders: Response Http headers
- userData: Additional data describing the current SuperHttp context
ServeInfoPage (declared in HttpServerChannel)
Determines if the server info page should be served or not
property ServeInfoPage: Boolean read write;
Boolean ServeInfoPage { get; set; }
Property ServeInfoPage() As Boolean
ServePlainHttpRequests
Gets or sets a flag indicating whether the server should accept plain Http requests to the services exposed by the server.
property ServePlainHttpRequests: Boolean read write;
Boolean ServePlainHttpRequests { get; set; }
Property ServePlainHttpRequests() As Boolean
ServerName
Gets or sets the arbitrary server name.
property ServerName: String read write;
String ServerName { get; set; }
Property ServerName() As String
ServeRodl (declared in ServerChannel)
Toggles whether clients can request the RODL file for this server via IRodlAccess or channel-specific means (such as by submitting a HTTP GET request to an HTTP server). By default, this option is turned on; set this property to false if you want to prevent clients from retrieving the RODL file from the server.
property ServeRodl: Boolean read write;
Boolean ServeRodl { get; set; }
Property ServeRodl() As Boolean
ServiceGroup (declared in ServerChannel)
Allows to get/set Service Groups
property ServiceGroup: String read write;
String ServiceGroup { get; set; }
Property ServiceGroup() As String
SetResponseHeaders protected
method SetResponseHeaders(request: HttpHeaders; response: HttpHeaders; contentType: String)
void SetResponseHeaders(HttpHeaders request, HttpHeaders response, String contentType)
Sub SetResponseHeaders(request As HttpHeaders, response As HttpHeaders, contentType As String)
Parameters:
- request:
- response:
- contentType:
ThreadPool
Gets or sets a custom Thread Pool used to process incoming requests.
If a custom Thread Pool is not set then the default one is used, configured to use up to 64 threads with a maximal request queue length set to 256 per thread.
property ThreadPool: IThreadPool read write;
IThreadPool ThreadPool { get; set; }
Property ThreadPool() As IThreadPool
TriggerAdjustConvertedRodl protected (declared in ServerChannel)
method TriggerAdjustConvertedRodl(e: RodlEventArgs)
void TriggerAdjustConvertedRodl(RodlEventArgs e)
Sub TriggerAdjustConvertedRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerAdjustRodl protected (declared in ServerChannel)
method TriggerAdjustRodl(e: RodlEventArgs)
void TriggerAdjustRodl(RodlEventArgs e)
Sub TriggerAdjustRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerAfterClose protected (declared in ServerChannel)
method TriggerAfterClose
void TriggerAfterClose()
Sub TriggerAfterClose()
TriggerAfterOpen protected (declared in ServerChannel)
method TriggerAfterOpen
void TriggerAfterOpen()
Sub TriggerAfterOpen()
TriggerAfterReceiveStream protected (declared in Channel)
method TriggerAfterReceiveStream(var stream: Stream)
void TriggerAfterReceiveStream(ref Stream stream)
Sub TriggerAfterReceiveStream(ByRef stream As Stream)
Parameters:
- stream:
TriggerBeforeClose protected (declared in ServerChannel)
method TriggerBeforeClose
void TriggerBeforeClose()
Sub TriggerBeforeClose()
TriggerBeforeOpen protected (declared in ServerChannel)
method TriggerBeforeOpen
void TriggerBeforeOpen()
Sub TriggerBeforeOpen()
TriggerBeforeSendStream protected (declared in Channel)
method TriggerBeforeSendStream(var stream: Stream)
void TriggerBeforeSendStream(ref Stream stream)
Sub TriggerBeforeSendStream(ByRef stream As Stream)
Parameters:
- stream:
TriggerCustomClientAccessPolicy protected (declared in HttpServerChannel)
method TriggerCustomClientAccessPolicy(e: ClientAccessPolicyEventArgs)
void TriggerCustomClientAccessPolicy(ClientAccessPolicyEventArgs e)
Sub TriggerCustomClientAccessPolicy(e As ClientAccessPolicyEventArgs)
Parameters:
- e:
TriggerGetRodl protected (declared in ServerChannel)
method TriggerGetRodl(e: RodlEventArgs)
void TriggerGetRodl(RodlEventArgs e)
Sub TriggerGetRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerOnCustomCrossOrigin protected (declared in HttpServerChannel)
method TriggerOnCustomCrossOrigin(e: CustomCrossOriginEventArgs)
void TriggerOnCustomCrossOrigin(CustomCrossOriginEventArgs e)
Sub TriggerOnCustomCrossOrigin(e As CustomCrossOriginEventArgs)
Parameters:
- e:
Unregister (declared in HttpServerChannel)
method Unregister(dispatcher: IHttpDispatcher)
void Unregister(IHttpDispatcher dispatcher)
Sub Unregister(dispatcher As IHttpDispatcher)
Parameters:
- dispatcher:
ValidateRequest
event ValidateRequest: EventHandler<ValidateRequestArgs>;
delegate EventHandler<ValidateRequestArgs> ValidateRequest()
Event ValidateRequest As EventHandler<ValidateRequestArgs>
ValidateServiceGroup (declared in ServerChannel)
method ValidateServiceGroup(serviceGroups: array of String): Boolean
Boolean ValidateServiceGroup(String[] serviceGroups)
Function ValidateServiceGroup(serviceGroups As String()) As Boolean
Parameters:
- serviceGroups:
IS_TRIAL_MODE protected (declared in ServerChannel)
const IS_TRIAL_MODE: Boolean = False;
const Boolean IS_TRIAL_MODE = False
Dim IS_TRIAL_MODE As Boolean = False
PROBE_REQUEST protected (declared in ServerChannel)
const PROBE_REQUEST: String = "PROBE";
const String PROBE_REQUEST = "PROBE"
Dim PROBE_REQUEST As String = "PROBE"
PROBE_REQUEST_LENGTH protected (declared in ServerChannel)
const PROBE_REQUEST_LENGTH: Int32 = 5;
const Int32 PROBE_REQUEST_LENGTH = 5
Dim PROBE_REQUEST_LENGTH As Int32 = 5
PROBE_RESPONSE_LENGTH protected (declared in ServerChannel)
const PROBE_RESPONSE_LENGTH: Int32 = 8;
const Int32 PROBE_RESPONSE_LENGTH = 8
Dim PROBE_RESPONSE_LENGTH As Int32 = 8
QUERY_SERVICEGROUP protected (declared in HttpServerChannel)
const QUERY_SERVICEGROUP: String = "servicegroup";
const String QUERY_SERVICEGROUP = "servicegroup"
Dim QUERY_SERVICEGROUP As String = "servicegroup"
Active (declared in ServerChannel)
Toggles whether the server component is active or not. Set it to true (either from code or in the Property Pane) to have your server active and listening for requests from clients or set it to false to prevent new requests from being accepted.
property Active: Boolean read write;
Boolean Active { get; set; }
Property Active() As Boolean
ChannelType
Gets channel kind name. This property is used, for example, to describe the kind of the server channel when the server application registers its services in ZeroConf environment.
The value of this property is superhttp
property ChannelType: String read;
String ChannelType { get; }
ReadOnly Property ChannelType() As String
ConnectionTimeout
Gets or sets timeout (in seconds) after which the idle connection will be closed.
The default value is 300 (i.e. 5 minutes).
property ConnectionTimeout: Int32 read write;
Int32 ConnectionTimeout { get; set; }
Property ConnectionTimeout() As Int32
CustomParameters (declared in ServerChannel)
property CustomParameters: IDictionary<String, String> read;
IDictionary<String, String> CustomParameters { get; }
ReadOnly Property CustomParameters() As IDictionary<String, String>
Dispatchers (declared in ServerChannel)
Organizes the different Dispatchers configured for the server. Depending on the server type, different dispatchers can be made accessible through different names (for example the HTTP based servers use the Path provided with the HTTP request to determine the dispatcher) or the dispatcher marked as Default will be used. Note: A design time editor for the Dispatcher collection is provided in the IDE, which you can invoke by clicking the ellipsis (...) button in the Properties Pane. You can use this editor to create new MessageDispatcher instances at design time and link them to the specific message components you have dropped onto your form.
property Dispatchers: MessageDispatchers read;
MessageDispatchers Dispatchers { get; }
ReadOnly Property Dispatchers() As MessageDispatchers
ExtendedDispatchers (declared in HttpServerChannel)
Gets list of extended dispatchers attached to the server channel instance.
Extended dispatchers are dispatchers that perform special tasks other than calling server services. A good example of an extended dispatcher is JavaScriptHttpDispatcher dispatcher.
property ExtendedDispatchers: ExtendedDispatcherList read;
ExtendedDispatcherList ExtendedDispatchers { get; }
ReadOnly Property ExtendedDispatchers() As ExtendedDispatcherList
HasAfterReceiveStream protected (declared in Channel)
property HasAfterReceiveStream: Boolean read;
Boolean HasAfterReceiveStream { get; }
ReadOnly Property HasAfterReceiveStream() As Boolean
HasBeforeSendStream protected (declared in Channel)
property HasBeforeSendStream: Boolean read;
Boolean HasBeforeSendStream { get; }
ReadOnly Property HasBeforeSendStream() As Boolean
HtmlServerInfo (declared in HttpServerChannel)
property HtmlServerInfo: HtmlServerInfo read write;
HtmlServerInfo HtmlServerInfo { get; set; }
Property HtmlServerInfo() As HtmlServerInfo
Initializing protected (declared in ServerChannel)
property Initializing: Boolean read;
Boolean Initializing { get; }
ReadOnly Property Initializing() As Boolean
IsCustomCrossOriginAvailable protected (declared in HttpServerChannel)
property IsCustomCrossOriginAvailable: Boolean read;
Boolean IsCustomCrossOriginAvailable { get; }
ReadOnly Property IsCustomCrossOriginAvailable() As Boolean
IsTlsEnabled (declared in ServerChannel)
property IsTlsEnabled: Boolean read;
Boolean IsTlsEnabled { get; }
ReadOnly Property IsTlsEnabled() As Boolean
MaxPackageSize
Gets or sets the maximum size of the data package the server will accept.
The default value is 1048576 (1MB).
property MaxPackageSize: Int32 read write;
Int32 MaxPackageSize { get; set; }
Property MaxPackageSize() As Int32
Messages (declared in ServerChannel)
property Messages: IList<String> read;
IList<String> Messages { get; }
ReadOnly Property Messages() As IList<String>
SecurityOptions (declared in HttpServerChannel)
Gives access to server security options of this server channel instance. Using this property, you can set up MaxRequestSize, MaxRequestTime etc.
property SecurityOptions: ServerSecurityOptions read write;
ServerSecurityOptions SecurityOptions { get; set; }
Property SecurityOptions() As ServerSecurityOptions
SendClientAccessPolicyXml (declared in HttpServerChannel)
Determines how the server channel should handle requests for clientaccesspolicy.xml (security policy file used by Silverlight). Can be set to:
- AllowNone (deny all requests).
- AllowAll (allow all requests).
- Custom (provides a custom security policy file via OnCustomClientAccessPolicy event handler).
property SendClientAccessPolicyXml: ClientAccessPolicyType read write;
ClientAccessPolicyType SendClientAccessPolicyXml { get; set; }
Property SendClientAccessPolicyXml() As ClientAccessPolicyType
SendCrossOriginHeader (declared in HttpServerChannel)
Gets or sets a flag indicating whether the server should handle the incoming CORS requests or ignore them.
property SendCrossOriginHeader: Boolean read write;
Boolean SendCrossOriginHeader { get; set; }
Property SendCrossOriginHeader() As Boolean
SendExceptionsAs500 (declared in HttpServerChannel)
If set to true, messages about exceptions occurred on the server will be sent with a HTTP Error 500 header set (standard HTTP header for internal server errors).
property SendExceptionsAs500: Boolean read write;
Boolean SendExceptionsAs500 { get; set; }
Property SendExceptionsAs500() As Boolean
ServeInfoPage (declared in HttpServerChannel)
Determines if the server info page should be served or not
property ServeInfoPage: Boolean read write;
Boolean ServeInfoPage { get; set; }
Property ServeInfoPage() As Boolean
ServePlainHttpRequests
Gets or sets a flag indicating whether the server should accept plain Http requests to the services exposed by the server.
property ServePlainHttpRequests: Boolean read write;
Boolean ServePlainHttpRequests { get; set; }
Property ServePlainHttpRequests() As Boolean
ServerName
Gets or sets the arbitrary server name.
property ServerName: String read write;
String ServerName { get; set; }
Property ServerName() As String
ServeRodl (declared in ServerChannel)
Toggles whether clients can request the RODL file for this server via IRodlAccess or channel-specific means (such as by submitting a HTTP GET request to an HTTP server). By default, this option is turned on; set this property to false if you want to prevent clients from retrieving the RODL file from the server.
property ServeRodl: Boolean read write;
Boolean ServeRodl { get; set; }
Property ServeRodl() As Boolean
ServiceGroup (declared in ServerChannel)
Allows to get/set Service Groups
property ServiceGroup: String read write;
String ServiceGroup { get; set; }
Property ServiceGroup() As String
ThreadPool
Gets or sets a custom Thread Pool used to process incoming requests.
If a custom Thread Pool is not set then the default one is used, configured to use up to 64 threads with a maximal request queue length set to 256 per thread.
property ThreadPool: IThreadPool read write;
IThreadPool ThreadPool { get; set; }
Property ThreadPool() As IThreadPool
DecodeAuthCredentials (declared in HttpServerChannel)
class method DecodeAuthCredentials(encodedCredentials: String; out username: String; out password: String; out bearer: String)
static void DecodeAuthCredentials(String encodedCredentials, out String username, out String password, out String bearer)
Shared Sub DecodeAuthCredentials(encodedCredentials As String, <OutAttribute> ByRef username As String, <OutAttribute> ByRef password As String, <OutAttribute> ByRef bearer As String)
Parameters:
- encodedCredentials:
- username:
- password:
- bearer:
GetDispatcherFromRequestPath protected (declared in HttpServerChannel)
class method GetDispatcherFromRequestPath(path: String): String
static String GetDispatcherFromRequestPath(String path)
Shared Function GetDispatcherFromRequestPath(path As String) As String
Parameters:
- path:
IsClientAccessPolicyRequested protected (declared in HttpServerChannel)
class method IsClientAccessPolicyRequested(request: String): Boolean
static Boolean IsClientAccessPolicyRequested(String request)
Shared Function IsClientAccessPolicyRequested(request As String) As Boolean
Parameters:
- request:
IsServerDocumentationPageRequested protected (declared in HttpServerChannel)
class method IsServerDocumentationPageRequested(isInfoPageEnabled: Boolean; request: String): Boolean
static Boolean IsServerDocumentationPageRequested(Boolean isInfoPageEnabled, String request)
Shared Function IsServerDocumentationPageRequested(isInfoPageEnabled As Boolean, request As String) As Boolean
Parameters:
- isInfoPageEnabled:
- request:
IsServerFavIconRequested protected (declared in HttpServerChannel)
class method IsServerFavIconRequested(isInfoPageEnabled: Boolean; request: String): Boolean
static Boolean IsServerFavIconRequested(Boolean isInfoPageEnabled, String request)
Shared Function IsServerFavIconRequested(isInfoPageEnabled As Boolean, request As String) As Boolean
Parameters:
- isInfoPageEnabled:
- request:
IsServerInfoPageRequested protected (declared in HttpServerChannel)
class method IsServerInfoPageRequested(isInfoPageEnabled: Boolean; request: String): Boolean
static Boolean IsServerInfoPageRequested(Boolean isInfoPageEnabled, String request)
Shared Function IsServerInfoPageRequested(isInfoPageEnabled As Boolean, request As String) As Boolean
Parameters:
- isInfoPageEnabled:
- request:
RemoveQueryParameters protected (declared in HttpServerChannel)
class method RemoveQueryParameters(path: String): String
static String RemoveQueryParameters(String path)
Shared Function RemoveQueryParameters(path As String) As String
Parameters:
- path:
constructor protected
Creates a new instance of the SuperHttpServerChannel class.
constructor
SuperHttpServerChannel()
Sub New()
constructor (IContainer) protected
Creates a new instance of the SuperHttpServerChannel class and adds it to the provided container.
constructor(container: IContainer)
SuperHttpServerChannel(IContainer container)
Sub New(container As IContainer)
Parameters:
- container: Components container
Close (declared in ServerChannel)
Closes the ServerChannel component and stops it from accepting any more incoming requests.
method Close
void Close()
Sub Close()
CloseChannel protected
method CloseChannel
void CloseChannel()
Sub CloseChannel()
CloseHttpChannel protected (declared in HttpServerChannel)
method CloseHttpChannel
void CloseHttpChannel()
Sub CloseHttpChannel()
CopyProperties protected (declared in Channel)
method CopyProperties(source: Channel)
void CopyProperties(Channel source)
Sub CopyProperties(source As Channel)
Parameters:
- source:
Dispatch protected (declared in ServerChannel)
method Dispatch(message: IMessage; channelInfo: IServerChannelInfo)
void Dispatch(IMessage message, IServerChannelInfo channelInfo)
Sub Dispatch(message As IMessage, channelInfo As IServerChannelInfo)
Parameters:
- message:
- channelInfo:
Dispose protected
Disposes of the current server channel instance.
method Dispose(disposing: Boolean)
void Dispose(Boolean disposing)
Sub Dispose(disposing As Boolean)
Parameters:
- disposing: True to release both managed and unmanaged resources; false to release only unmanaged resources
FormatErrorMessage (Boolean, Exception): HttpErrorMessage protected (declared in HttpServerChannel)
method FormatErrorMessage(plainText: Boolean; exception: Exception): HttpErrorMessage
HttpErrorMessage FormatErrorMessage(Boolean plainText, Exception exception)
Function FormatErrorMessage(plainText As Boolean, exception As Exception) As HttpErrorMessage
Parameters:
- plainText:
- exception:
FormatErrorMessage (Boolean, String): HttpErrorMessage protected (declared in HttpServerChannel)
method FormatErrorMessage(plainText: Boolean; message: String): HttpErrorMessage
HttpErrorMessage FormatErrorMessage(Boolean plainText, String message)
Function FormatErrorMessage(plainText As Boolean, message As String) As HttpErrorMessage
Parameters:
- plainText:
- message:
GetClientAccessPolicy protected (declared in HttpServerChannel)
method GetClientAccessPolicy: String
String GetClientAccessPolicy()
Function GetClientAccessPolicy() As String
GetFavIconStream protected (declared in HttpServerChannel)
method GetFavIconStream: Stream
Stream GetFavIconStream()
Function GetFavIconStream() As Stream
GetMessageDispatcher protected (declared in HttpServerChannel)
method GetMessageDispatcher(fullPath: String; rootPath: String): MessageDispatcher
MessageDispatcher GetMessageDispatcher(String fullPath, String rootPath)
Function GetMessageDispatcher(fullPath As String, rootPath As String) As MessageDispatcher
Parameters:
- fullPath:
- rootPath:
GetPath protected
method GetPath(context: IServerChannelInfo): String
String GetPath(IServerChannelInfo context)
Function GetPath(context As IServerChannelInfo) As String
Parameters:
- context:
GetQueryParameter protected
method GetQueryParameter(context: IServerChannelInfo; parameterName: String): String
String GetQueryParameter(IServerChannelInfo context, String parameterName)
Function GetQueryParameter(context As IServerChannelInfo, parameterName As String) As String
Parameters:
- context:
- parameterName:
GetQueryString protected
method GetQueryString(context: IServerChannelInfo): QueryString
QueryString GetQueryString(IServerChannelInfo context)
Function GetQueryString(context As IServerChannelInfo) As QueryString
Parameters:
- context:
GetServerMetaData protected (declared in HttpServerChannel)
method GetServerMetaData(context: Object; dispatcher: MessageDispatcher; path: String; queryString: QueryString; out contentType: String): Stream
Stream GetServerMetaData(Object context, MessageDispatcher dispatcher, String path, QueryString queryString, out String contentType)
Function GetServerMetaData(context As Object, dispatcher As MessageDispatcher, path As String, queryString As QueryString, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- path:
- queryString:
- contentType:
GetServerRodl protected (declared in ServerChannel)
method GetServerRodl(context: Object; dispatcher: MessageDispatcher; serviceGroups: String; out contentType: String): Stream
Stream GetServerRodl(Object context, MessageDispatcher dispatcher, String serviceGroups, out String contentType)
Function GetServerRodl(context As Object, dispatcher As MessageDispatcher, serviceGroups As String, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- serviceGroups:
- contentType:
GetServiceMetaData protected (declared in ServerChannel)
method GetServiceMetaData(context: Object; dispatcher: MessageDispatcher; serviceName: String; options: Hashtable; out contentType: String): Stream
Stream GetServiceMetaData(Object context, MessageDispatcher dispatcher, String serviceName, Hashtable options, out String contentType)
Function GetServiceMetaData(context As Object, dispatcher As MessageDispatcher, serviceName As String, options As Hashtable, <OutAttribute> ByRef contentType As String) As Stream
Parameters:
- context:
- dispatcher:
- serviceName:
- options:
- contentType:
Open (declared in ServerChannel)
Opens the ServerChannel component and starts accepting incoming requests. Depending on the server type, this usually involves starting to listen on a network socket or polling some source for waiting messages.
method Open
void Open()
Sub Open()
OpenChannel protected
method OpenChannel
void OpenChannel()
Sub OpenChannel()
OpenHttpChannel protected (declared in HttpServerChannel)
method OpenHttpChannel
void OpenHttpChannel()
Sub OpenHttpChannel()
ProcessRequest protected
method ProcessRequest(context: IServerChannelInfo; requestHeaders: HttpHeaders; path: String; data: array of Byte; socket: Socket)
void ProcessRequest(IServerChannelInfo context, HttpHeaders requestHeaders, String path, Byte[] data, Socket socket)
Sub ProcessRequest(context As IServerChannelInfo, requestHeaders As HttpHeaders, path As String, data As Byte(), socket As Socket)
Parameters:
- context:
- requestHeaders:
- path:
- data:
- socket:
ProcessUnknownHttpRequest protected
method ProcessUnknownHttpRequest(context: IServerChannelInfo; requestHeaders: HttpHeaders; path: String; data: array of Byte): Boolean
Boolean ProcessUnknownHttpRequest(IServerChannelInfo context, HttpHeaders requestHeaders, String path, Byte[] data)
Function ProcessUnknownHttpRequest(context As IServerChannelInfo, requestHeaders As HttpHeaders, path As String, data As Byte()) As Boolean
Parameters:
- context:
- requestHeaders:
- path:
- data:
Register (declared in HttpServerChannel)
method Register(dispatcher: IHttpDispatcher)
void Register(IHttpDispatcher dispatcher)
Sub Register(dispatcher As IHttpDispatcher)
Parameters:
- dispatcher:
ResponseFailed protected
This method is called when a response has not been succesfully sent to the client. If the userData contains waiting connections then the server channel will attempt to send a response using them, otherwise the data will be enqueued in the response queue.
method ResponseFailed(userData: SuperHttpServerResponse)
void ResponseFailed(SuperHttpServerResponse userData)
Sub ResponseFailed(userData As SuperHttpServerResponse)
Parameters:
- userData: SuperHttp response data
SendResponse protected
Sends an Http response data back to the client. Concrete implementation depends on the low-level Http connection implementation used by the concrete implementation of the SuperHttp server channel.
protected abstract
method SendResponse(context: IServerChannelInfo; responseData: array of Byte; responseHeaders: HttpHeaders; userData: SuperHttpServerResponse)
void SendResponse(IServerChannelInfo context, Byte[] responseData, HttpHeaders responseHeaders, SuperHttpServerResponse userData)
Sub SendResponse(context As IServerChannelInfo, responseData As Byte(), responseHeaders As HttpHeaders, userData As SuperHttpServerResponse)
Parameters:
- context: Request context
- responseData: Response contents
- responseHeaders: Response Http headers
- userData: Additional data describing the current SuperHttp context
SetResponseHeaders protected
method SetResponseHeaders(request: HttpHeaders; response: HttpHeaders; contentType: String)
void SetResponseHeaders(HttpHeaders request, HttpHeaders response, String contentType)
Sub SetResponseHeaders(request As HttpHeaders, response As HttpHeaders, contentType As String)
Parameters:
- request:
- response:
- contentType:
TriggerAdjustConvertedRodl protected (declared in ServerChannel)
method TriggerAdjustConvertedRodl(e: RodlEventArgs)
void TriggerAdjustConvertedRodl(RodlEventArgs e)
Sub TriggerAdjustConvertedRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerAdjustRodl protected (declared in ServerChannel)
method TriggerAdjustRodl(e: RodlEventArgs)
void TriggerAdjustRodl(RodlEventArgs e)
Sub TriggerAdjustRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerAfterClose protected (declared in ServerChannel)
method TriggerAfterClose
void TriggerAfterClose()
Sub TriggerAfterClose()
TriggerAfterOpen protected (declared in ServerChannel)
method TriggerAfterOpen
void TriggerAfterOpen()
Sub TriggerAfterOpen()
TriggerAfterReceiveStream protected (declared in Channel)
method TriggerAfterReceiveStream(var stream: Stream)
void TriggerAfterReceiveStream(ref Stream stream)
Sub TriggerAfterReceiveStream(ByRef stream As Stream)
Parameters:
- stream:
TriggerBeforeClose protected (declared in ServerChannel)
method TriggerBeforeClose
void TriggerBeforeClose()
Sub TriggerBeforeClose()
TriggerBeforeOpen protected (declared in ServerChannel)
method TriggerBeforeOpen
void TriggerBeforeOpen()
Sub TriggerBeforeOpen()
TriggerBeforeSendStream protected (declared in Channel)
method TriggerBeforeSendStream(var stream: Stream)
void TriggerBeforeSendStream(ref Stream stream)
Sub TriggerBeforeSendStream(ByRef stream As Stream)
Parameters:
- stream:
TriggerCustomClientAccessPolicy protected (declared in HttpServerChannel)
method TriggerCustomClientAccessPolicy(e: ClientAccessPolicyEventArgs)
void TriggerCustomClientAccessPolicy(ClientAccessPolicyEventArgs e)
Sub TriggerCustomClientAccessPolicy(e As ClientAccessPolicyEventArgs)
Parameters:
- e:
TriggerGetRodl protected (declared in ServerChannel)
method TriggerGetRodl(e: RodlEventArgs)
void TriggerGetRodl(RodlEventArgs e)
Sub TriggerGetRodl(e As RodlEventArgs)
Parameters:
- e:
TriggerOnCustomCrossOrigin protected (declared in HttpServerChannel)
method TriggerOnCustomCrossOrigin(e: CustomCrossOriginEventArgs)
void TriggerOnCustomCrossOrigin(CustomCrossOriginEventArgs e)
Sub TriggerOnCustomCrossOrigin(e As CustomCrossOriginEventArgs)
Parameters:
- e:
Unregister (declared in HttpServerChannel)
method Unregister(dispatcher: IHttpDispatcher)
void Unregister(IHttpDispatcher dispatcher)
Sub Unregister(dispatcher As IHttpDispatcher)
Parameters:
- dispatcher:
ValidateServiceGroup (declared in ServerChannel)
method ValidateServiceGroup(serviceGroups: array of String): Boolean
Boolean ValidateServiceGroup(String[] serviceGroups)
Function ValidateServiceGroup(serviceGroups As String()) As Boolean
Parameters:
- serviceGroups:
AdjustConvertedRodl (declared in ServerChannel)
event AdjustConvertedRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> AdjustConvertedRodl()
Event AdjustConvertedRodl As EventHandler<RodlEventArgs>
AdjustRodl (declared in ServerChannel)
event AdjustRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> AdjustRodl()
Event AdjustRodl As EventHandler<RodlEventArgs>
AfterClose (declared in ServerChannel)
event AfterClose: EventHandler;
delegate EventHandler AfterClose()
Event AfterClose As EventHandler
AfterOpen (declared in ServerChannel)
event AfterOpen: EventHandler;
delegate EventHandler AfterOpen()
Event AfterOpen As EventHandler
AfterReceiveStream (declared in Channel)
This event is triggered by client and server channels directly after a request or response stream has been received and before the stream gets parsed into a message. User code can assign handlers to this event to process, inspect or modify incoming messages, before they get handled by the Remoting SDK framework. The passed Stream is a MemoryStream and may be modified.
If no handlers are assigned to the AfterReceiveStream event, the message will load the data directly from the incoming medium (usually the network stream); assigning event handlers to AfterReceiveStream will induce a slight overhead as the data will first be copied into a local memory buffer for the event handler. This should not have any noticeably effect except for very large messages or on resource-limited systems such as Compact Framework Clients, but if utmost performance is important, take this note into consideration.
event AfterReceiveStream: EventHandler<StreamEventArgs>;
delegate EventHandler<StreamEventArgs> AfterReceiveStream()
Event AfterReceiveStream As EventHandler<StreamEventArgs>
BeforeClose (declared in ServerChannel)
event BeforeClose: EventHandler;
delegate EventHandler BeforeClose()
Event BeforeClose As EventHandler
BeforeOpen (declared in ServerChannel)
event BeforeOpen: EventHandler;
delegate EventHandler BeforeOpen()
Event BeforeOpen As EventHandler
BeforeSendStream (declared in Channel)
This event is triggered by client and server channels directly before a request or response stream will be sent over the network. User code can assign handlers to this event to process, inspect or modify incoming messages before they get sent out to the remote system.
The passed Stream is a MemoryStream and may be modified.
event BeforeSendStream: EventHandler<StreamEventArgs>;
delegate EventHandler<StreamEventArgs> BeforeSendStream()
Event BeforeSendStream As EventHandler<StreamEventArgs>
CustomClientAccessPolicy (declared in HttpServerChannel)
event CustomClientAccessPolicy: EventHandler<ClientAccessPolicyEventArgs>;
delegate EventHandler<ClientAccessPolicyEventArgs> CustomClientAccessPolicy()
Event CustomClientAccessPolicy As EventHandler<ClientAccessPolicyEventArgs>
GetRodl (declared in ServerChannel)
event GetRodl: EventHandler<RodlEventArgs>;
delegate EventHandler<RodlEventArgs> GetRodl()
Event GetRodl As EventHandler<RodlEventArgs>
OnCustomCrossOrigin (declared in HttpServerChannel)
event OnCustomCrossOrigin: EventHandler<CustomCrossOriginEventArgs>;
delegate EventHandler<CustomCrossOriginEventArgs> OnCustomCrossOrigin()
Event OnCustomCrossOrigin As EventHandler<CustomCrossOriginEventArgs>
ValidateRequest
event ValidateRequest: EventHandler<ValidateRequestArgs>;
delegate EventHandler<ValidateRequestArgs> ValidateRequest()
Event ValidateRequest As EventHandler<ValidateRequestArgs>