IpSuperHttpServerChannel Class

From RemObjects Wiki
Jump to: navigation, search

This is a Library topic for RemObjects SDK for .NET
This page is generated from external data, please do not update

NamespacesInterfacesClassesEnumsImplements

Contents

Overview

Enhanced HTTP based server which provides a sophisticated and flexible communication channel that uses persistent connections to enable true asynchronous calls and server callbacks.


Location

Implemented interfaces


Properties

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.



Prism:   property Active: Boolean read write
C#:   Boolean Active { get; set; }
VB:   Property Active As Boolean


ChannelType     (declared in SuperHttpServer)

This property is needed to determine the type of the server channel for internal purposes. It has "superhttp" value.



Prism:   property ChannelType: String read
C#:   String ChannelType { get; }
VB:   Property ReadOnly ChannelType As String


ConnectionTimeout     (declared in SuperHttpServer)

The timeout, in seconds, after which the idle connection will be closed.

The default value is 300 (i.e. 5 minutes).



Prism:   property ConnectionTimeout: Int32 read write
C#:   Int32 ConnectionTimeout { get; set; }
VB:   Property ConnectionTimeout As Int32


CustomParameters     (declared in ServerChannel)



Prism:   property CustomParameters: Dictionary<String,String> read
C#:   Dictionary<String,String> CustomParameters { get; }
VB:   Property ReadOnly CustomParameters As Dictionary<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.



Prism:   property Dispatchers: MessageDispatchers read
C#:   MessageDispatchers Dispatchers { get; }
VB:   Property ReadOnly Dispatchers As MessageDispatchers


ExtendedDispatchers     (declared in SuperHttpServer)



Prism:   property ExtendedDispatchers: ExtendedDispatcherList read
C#:   ExtendedDispatcherList ExtendedDispatchers { get; }
VB:   Property ReadOnly ExtendedDispatchers As ExtendedDispatcherList


HasAfterReceiveStream   protected     (declared in Channel)



Prism:   property HasAfterReceiveStream: Boolean read
C#:   Boolean HasAfterReceiveStream { get; }
VB:   Property ReadOnly HasAfterReceiveStream As Boolean


HasBeforeSendStream   protected     (declared in Channel)



Prism:   property HasBeforeSendStream: Boolean read
C#:   Boolean HasBeforeSendStream { get; }
VB:   Property ReadOnly HasBeforeSendStream As Boolean


Initializing   protected     (declared in ServerChannel)



Prism:   property Initializing: Boolean read
C#:   Boolean Initializing { get; }
VB:   Property ReadOnly Initializing As Boolean


MaxPackageSize



Prism:   property MaxPackageSize: Int32 read write
C#:   Int32 MaxPackageSize { get; set; }
VB:   Property MaxPackageSize As Int32


Messages     (declared in ServerChannel)



Prism:   property Messages: List<String> read
C#:   List<String> Messages { get; }
VB:   Property ReadOnly Messages As List<String>


Port



Prism:   property Port: Int32 read write
C#:   Int32 Port { get; set; }
VB:   Property Port As Int32


SendClientAccessPolicyXml     (declared in SuperHttpServer)

Determines how the server channel handles requests for ClientAccessPolicy.xml (security policy file used by Silverlight).

   * AllowNone - Denies all requests.
   * AllowAll - Allows all requests.
   * Custom - Provides a custom security policy file via OnCustomClientAccessPolicy event handler.



Prism:   property SendClientAccessPolicyXml: ClientAccessPolicyType read write
C#:   ClientAccessPolicyType SendClientAccessPolicyXml { get; set; }
VB:   Property SendClientAccessPolicyXml As ClientAccessPolicyType


SendCrossOriginHeader     (declared in SuperHttpServer)



Prism:   property SendCrossOriginHeader: Boolean read write
C#:   Boolean SendCrossOriginHeader { get; set; }
VB:   Property SendCrossOriginHeader As Boolean


ServeInfoPage     (declared in SuperHttpServer)

Allows the HTTP server to serve up a page with human-readable information about the server when being accessed from a web browser. This information page will contain details about the registered dispatchers and documentation for the services:

HtmlServerInfoPage.png



Prism:   property ServeInfoPage: Boolean read write
C#:   Boolean ServeInfoPage { get; set; }
VB:   Property ServeInfoPage As Boolean


ServePlainHttpRequests     (declared in SuperHttpServer)



Prism:   property ServePlainHttpRequests: Boolean read write
C#:   Boolean ServePlainHttpRequests { get; set; }
VB:   Property ServePlainHttpRequests As Boolean


Server



Prism:   property Server: AsyncHttpServer read
C#:   AsyncHttpServer Server { get; }
VB:   Property ReadOnly Server As AsyncHttpServer


ServerName



Prism:   property ServerName: String read write
C#:   String ServerName { get; set; }
VB:   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.



Prism:   property ServeRodl: Boolean read write
C#:   Boolean ServeRodl { get; set; }
VB:   Property ServeRodl As Boolean


ThreadPool     (declared in SuperHttpServer)



Prism:   property ThreadPool: ThreadPool read write
C#:   ThreadPool ThreadPool { get; set; }
VB:   Property ThreadPool As ThreadPool


Instance Methods

constructor ()



Oxygene:   constructor
C#:   constructor()
VB:   Sub New


constructor (Boolean)   protected     (declared in ServerChannel)



Oxygene:   constructor(allowMultipleDispatchers: Boolean)
C#:   constructor(Boolean allowMultipleDispatchers)
VB:   Sub New (allowMultipleDispatchers As Boolean)


Parameters:

  • allowMultipleDispatchers:


constructor (IContainer)



Oxygene:   constructor(container: IContainer)
C#:   constructor(IContainer container)
VB:   Sub New (container As IContainer)


Parameters:

  • container:


Activate     (declared in ServerChannel)

Alias for the Open method.


Oxygene:   method Activate
C#:   void Activate()
VB:   Sub Activate


Close     (declared in ServerChannel)

Closes the ServerChannel component and stops it from accepting any more incoming requests.


Oxygene:   method Close
C#:   void Close()
VB:   Sub Close


CopyProperties   protected     (declared in Channel)



Oxygene:   method CopyProperties(source: Channel)
C#:   void CopyProperties(Channel source)
VB:   Sub CopyProperties(source As Channel)


Parameters:

  • source:


Deactivate     (declared in ServerChannel)

Alias for the Close method.


Oxygene:   method Deactivate
C#:   void Deactivate()
VB:   Sub Deactivate


Dispatch   protected     (declared in ServerChannel)



Oxygene:   method Dispatch(message: IMessage; channelInfo: IServerChannelInfo)
C#:   void Dispatch(IMessage message, IServerChannelInfo channelInfo)
VB:   Sub Dispatch(message As IMessage, channelInfo As IServerChannelInfo)


Parameters:

  • message:
  • channelInfo:


Dispose   protected     (declared in SuperHttpServer)



Oxygene:   method Dispose(disposing: Boolean)
C#:   void Dispose(Boolean disposing)
VB:   Sub Dispose(disposing As Boolean)


Parameters:

  • disposing:


DoClose   protected



Oxygene:   method DoClose
C#:   void DoClose()
VB:   Sub DoClose


DoEndInit   protected     (declared in ServerChannel)



Oxygene:   method DoEndInit
C#:   void DoEndInit()
VB:   Sub DoEndInit


DoOpen   protected



Oxygene:   method DoOpen
C#:   void DoOpen()
VB:   Sub DoOpen


HandleRequest   protected     (declared in SuperHttpServer)



Oxygene:   method HandleRequest(context: IServerChannelInfo; requestHeaders: HttpHeaders; path: String; data: array of Byte; socket: Socket)
C#:   void HandleRequest(IServerChannelInfo context, HttpHeaders requestHeaders, String path, array of Byte data, Socket socket)
VB:   Sub HandleRequest(context As IServerChannelInfo, requestHeaders As HttpHeaders, path As String, data As array of Byte, socket As Socket)


Parameters:

  • context:
  • requestHeaders:
  • path:
  • data:
  • socket:


HandleUnknownRequest   protected



Oxygene:   method HandleUnknownRequest(channel: IServerChannelInfo; request: HttpHeaders; path: String; data: array of Byte): Boolean
C#:   Boolean HandleUnknownRequest(IServerChannelInfo channel, HttpHeaders request, String path, array of Byte data)
VB:   Function HandleUnknownRequest(channel As IServerChannelInfo, request As HttpHeaders, path As String, data As array of Byte) As Boolean


Parameters:

  • channel:
  • request:
  • path:
  • data:


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.


Oxygene:   method Open
C#:   void Open()
VB:   Sub Open


Register     (declared in SuperHttpServer)



Oxygene:   method Register(dispatcher: IHttpDispatcher)
C#:   void Register(IHttpDispatcher dispatcher)
VB:   Sub Register(dispatcher As IHttpDispatcher)


Parameters:

  • dispatcher:


ResponseFailed   protected     (declared in SuperHttpServer)

This method will be called by the subclasses when a response has not succesfully been sent. If UserData contains waiting connections (SuperHttpServerConnection.WaitingConnections) the server channel will attempt to send a response using them, otherwise UserData will be enqueued by ResponseQueue (SuperHttpServerConnection.ResponseQueue).

protected


Oxygene:   method ResponseFailed(userData: SuperHttpServerResponse)
C#:   void ResponseFailed(SuperHttpServerResponse userData)
VB:   Sub ResponseFailed(userData As SuperHttpServerResponse)


Parameters:

  • userData:


SendResponse   protected



Oxygene:   method SendResponse(responseData: array of Byte; responseHeaders: HttpHeaders; userData: SuperHttpServerResponse; channel: IServerChannelInfo)
C#:   void SendResponse(array of Byte responseData, HttpHeaders responseHeaders, SuperHttpServerResponse userData, IServerChannelInfo channel)
VB:   Sub SendResponse(responseData As array of Byte, responseHeaders As HttpHeaders, userData As SuperHttpServerResponse, channel As IServerChannelInfo)


Parameters:

  • responseData:
  • responseHeaders:
  • userData:
  • channel:


SetDefaultHeaders (HttpHeaders)   protected     (declared in SuperHttpServer)



Oxygene:   method SetDefaultHeaders(responseHeaders: HttpHeaders)
C#:   void SetDefaultHeaders(HttpHeaders responseHeaders)
VB:   Sub SetDefaultHeaders(responseHeaders As HttpHeaders)


Parameters:

  • responseHeaders:


SetDefaultHeaders (HttpHeaders, String)   protected     (declared in SuperHttpServer)



Oxygene:   method SetDefaultHeaders(responseHeaders: HttpHeaders; contentType: String)
C#:   void SetDefaultHeaders(HttpHeaders responseHeaders, String contentType)
VB:   Sub SetDefaultHeaders(responseHeaders As HttpHeaders, contentType As String)


Parameters:

  • responseHeaders:
  • contentType:


StartListening     (declared in ServerChannel)

Alias for the Open method.


Oxygene:   method StartListening
C#:   void StartListening()
VB:   Sub StartListening


StopListening     (declared in ServerChannel)

Alias for the Close method.


Oxygene:   method StopListening
C#:   void StopListening()
VB:   Sub StopListening


TriggerAfterClose   protected     (declared in ServerChannel)



Oxygene:   method TriggerAfterClose
C#:   void TriggerAfterClose()
VB:   Sub TriggerAfterClose


TriggerAfterOpen   protected     (declared in ServerChannel)



Oxygene:   method TriggerAfterOpen
C#:   void TriggerAfterOpen()
VB:   Sub TriggerAfterOpen


TriggerAfterReceiveStream   protected     (declared in Channel)



Oxygene:   method TriggerAfterReceiveStream(var stream: Stream)
C#:   void TriggerAfterReceiveStream(ref Stream stream)
VB:   Sub TriggerAfterReceiveStream(ByRef stream As Stream)


Parameters:

  • stream:


TriggerBeforeClose   protected     (declared in ServerChannel)



Oxygene:   method TriggerBeforeClose
C#:   void TriggerBeforeClose()
VB:   Sub TriggerBeforeClose


TriggerBeforeOpen   protected     (declared in ServerChannel)



Oxygene:   method TriggerBeforeOpen
C#:   void TriggerBeforeOpen()
VB:   Sub TriggerBeforeOpen


TriggerBeforeSendStream   protected     (declared in Channel)



Oxygene:   method TriggerBeforeSendStream(var stream: Stream)
C#:   void TriggerBeforeSendStream(ref Stream stream)
VB:   Sub TriggerBeforeSendStream(ByRef stream As Stream)


Parameters:

  • stream:


TriggerOnAdjustConvertedRodl   protected     (declared in SuperHttpServer)

Calls the OnAdjustConvertedRodl event handler and sets the position within the provided RODL stream to the beginning.

protected


Oxygene:   method TriggerOnAdjustConvertedRodl(request: HttpHeaders; var rodlStream: Stream)
C#:   void TriggerOnAdjustConvertedRodl(HttpHeaders request, ref Stream rodlStream)
VB:   Sub TriggerOnAdjustConvertedRodl(request As HttpHeaders, ByRef rodlStream As Stream)


Parameters:

  • request:
  • rodlStream:


TriggerOnAdjustRodl   protected     (declared in SuperHttpServer)

Calls the OnAdjustRodl event handler and sets the position within the provided RODL stream to the beginning.


Oxygene:   method TriggerOnAdjustRodl(request: HttpHeaders; var rodlStream: Stream)
C#:   void TriggerOnAdjustRodl(HttpHeaders request, ref Stream rodlStream)
VB:   Sub TriggerOnAdjustRodl(request As HttpHeaders, ByRef rodlStream As Stream)


Parameters:

  • request:
  • rodlStream:


TriggerOnCustomClientAccessPolicy   protected     (declared in SuperHttpServer)

Calls the OnCustomClientAccessPolicy event handler. Returns the security policy file generated by its handler (via aPolicyContent parameter by reference). Can be called only from the ancestor class.


Oxygene:   method TriggerOnCustomClientAccessPolicy(var policyContent: String)
C#:   void TriggerOnCustomClientAccessPolicy(ref String policyContent)
VB:   Sub TriggerOnCustomClientAccessPolicy(ByRef policyContent As String)


Parameters:

  • policyContent:


TriggerOnCustomCrossOrigin   protected     (declared in SuperHttpServer)



Oxygene:   method TriggerOnCustomCrossOrigin(e: CustomCrossOriginEventArgs)
C#:   void TriggerOnCustomCrossOrigin(CustomCrossOriginEventArgs e)
VB:   Sub TriggerOnCustomCrossOrigin(e As CustomCrossOriginEventArgs)


Parameters:

  • e:


TriggerOnGetRodl   protected     (declared in SuperHttpServer)

Calls the OnGetRodl event handler and sets the position within the provided RODL stream to the beginning.


Oxygene:   method TriggerOnGetRodl(request: HttpHeaders; var rodlStream: Stream)
C#:   void TriggerOnGetRodl(HttpHeaders request, ref Stream rodlStream)
VB:   Sub TriggerOnGetRodl(request As HttpHeaders, ByRef rodlStream As Stream)


Parameters:

  • request:
  • rodlStream:


TriggerOnHttpRequest   protected



Oxygene:   method TriggerOnHttpRequest(connection: Connection; context: AsyncHttpContext)
C#:   void TriggerOnHttpRequest(Connection connection, AsyncHttpContext context)
VB:   Sub TriggerOnHttpRequest(connection As Connection, context As AsyncHttpContext)


Parameters:

  • connection:
  • context:


Unregister     (declared in SuperHttpServer)



Oxygene:   method Unregister(dispatcher: IHttpDispatcher)
C#:   void Unregister(IHttpDispatcher dispatcher)
VB:   Sub Unregister(dispatcher As IHttpDispatcher)


Parameters:

  • dispatcher:


Events

AfterClose     (declared in ServerChannel)



Oxygene:   event AfterClose: EventHandler
C#:   event EventHandler AfterClose
VB:   Event AfterClose As EventHandler


AfterOpen     (declared in ServerChannel)



Oxygene:   event AfterOpen: EventHandler
C#:   event EventHandler AfterOpen
VB:   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 RemObjects 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.



Oxygene:   event AfterReceiveStream: StreamEventHandler
delegate: method Invoke(sender: Object; e: StreamEventArgs)

C#:   event StreamEventHandler AfterReceiveStream
delegate: void Invoke(Object sender, StreamEventArgs e)

VB:   Event AfterReceiveStream As StreamEventHandler
delegate: Sub Invoke(sender As Object, e As StreamEventArgs)


BeforeClose     (declared in ServerChannel)



Oxygene:   event BeforeClose: EventHandler
C#:   event EventHandler BeforeClose
VB:   Event BeforeClose As EventHandler


BeforeOpen     (declared in ServerChannel)



Oxygene:   event BeforeOpen: EventHandler
C#:   event EventHandler BeforeOpen
VB:   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.



Oxygene:   event BeforeSendStream: StreamEventHandler
delegate: method Invoke(sender: Object; e: StreamEventArgs)

C#:   event StreamEventHandler BeforeSendStream
delegate: void Invoke(Object sender, StreamEventArgs e)

VB:   Event BeforeSendStream As StreamEventHandler
delegate: Sub Invoke(sender As Object, e As StreamEventArgs)


OnAdjustConvertedRodl     (declared in SuperHttpServer)

This event is fired only if a RODL is requested via MessageDispathes which supports the IRodlConverter (f.e. SoapMessage). It is fired after the RODL is converted via the IRodlConverter interface (in case of SoapMessage this means after the RODL was converted to the corresponding WSDL).



Oxygene:   event OnAdjustConvertedRodl: OnAdjustAsyncHttpRodlHandler
delegate: method Invoke(server: SuperHttpServer; headers: HttpHeaders; var rodl: Stream)

C#:   event OnAdjustAsyncHttpRodlHandler OnAdjustConvertedRodl
delegate: void Invoke(SuperHttpServer server, HttpHeaders headers, ref Stream rodl)

VB:   Event OnAdjustConvertedRodl As OnAdjustAsyncHttpRodlHandler
delegate: Sub Invoke(server As SuperHttpServer, headers As HttpHeaders, ByRef rodl As Stream)


OnAdjustRodl     (declared in SuperHttpServer)

This event is fired after the service RODL is acquired.



Oxygene:   event OnAdjustRodl: OnAdjustAsyncHttpRodlHandler
delegate: method Invoke(server: SuperHttpServer; headers: HttpHeaders; var rodl: Stream)

C#:   event OnAdjustAsyncHttpRodlHandler OnAdjustRodl
delegate: void Invoke(SuperHttpServer server, HttpHeaders headers, ref Stream rodl)

VB:   Event OnAdjustRodl As OnAdjustAsyncHttpRodlHandler
delegate: Sub Invoke(server As SuperHttpServer, headers As HttpHeaders, ByRef rodl As Stream)


OnCustomClientAccessPolicy     (declared in SuperHttpServer)

This event is fired when the SendClientAccessPolicyXml property is set to Custom. Allows more precise management of client access policies.

The handler of this event generates a valid ClientAccessPolicy.xml and puts it to the aPolicyContent parameter.



Oxygene:   event OnCustomClientAccessPolicy: OnCustomClientAccessPolicyHandler
delegate: method Invoke(sender: Object; var policyContent: String)

C#:   event OnCustomClientAccessPolicyHandler OnCustomClientAccessPolicy
delegate: void Invoke(Object sender, ref String policyContent)

VB:   Event OnCustomClientAccessPolicy As OnCustomClientAccessPolicyHandler
delegate: Sub Invoke(sender As Object, ByRef policyContent As String)


OnCustomCrossOrigin     (declared in SuperHttpServer)



Oxygene:   event OnCustomCrossOrigin: EventHandler<CustomCrossOriginEventArgs>
C#:   event EventHandler<CustomCrossOriginEventArgs> OnCustomCrossOrigin
VB:   Event OnCustomCrossOrigin As EventHandler<CustomCrossOriginEventArgs>


OnGetRodl     (declared in SuperHttpServer)

This event is fired when a service RODL is requested.



Oxygene:   event OnGetRodl: OnAdjustAsyncHttpRodlHandler
delegate: method Invoke(server: SuperHttpServer; headers: HttpHeaders; var rodl: Stream)

C#:   event OnAdjustAsyncHttpRodlHandler OnGetRodl
delegate: void Invoke(SuperHttpServer server, HttpHeaders headers, ref Stream rodl)

VB:   Event OnGetRodl As OnAdjustAsyncHttpRodlHandler
delegate: Sub Invoke(server As SuperHttpServer, headers As HttpHeaders, ByRef rodl As Stream)


OnHttpRequest



Oxygene:   event OnHttpRequest: OnAsyncHttpRequestHandler
delegate: method Invoke(sender: Object; e: OnAsyncHttpRequestArgs)

C#:   event OnAsyncHttpRequestHandler OnHttpRequest
delegate: void Invoke(Object sender, OnAsyncHttpRequestArgs e)

VB:   Event OnHttpRequest As OnAsyncHttpRequestHandler
delegate: Sub Invoke(sender As Object, e As OnAsyncHttpRequestArgs)


See Also


Product: RemObjects SDK
Available Editions: RemObjects SDK for .NET, Xcode, Delphi, Java and JavaScript

GlossaryArticlesLibrarySamples

Personal tools
Namespaces

Variants
Actions
Navigation
products
platforms
special
Toolbox