This section describes Channels.
Channels transport messages between Applications across remoting boundaries e.g. AppDomains, Processes and Machines. These crossings include both inbound and outbound. A channel can listen on an endpoint for inbound messages or send to an endpoint for outbound messages or both. This provides an extensibility point in the NGWS runtime to plug in a wide range protocols, even though the NGWS runtime may not be at the other end of the channel. NGWS runtime objects can be used to expose and represent a wide and rich set of semantics and entities. The Channel provides the extensibility point to convert the messages to and from the specific protocols.
Channels must expose the IChannel interface, which provides informational properties such as the ChannelName, ChannelPriority and MimeType. Channels are registered via ChannelServices.RegisterChannel. Channels can also be loaded from the Remoting Configuration. See Remoting Configuration for details.
If there are NGWS runtimes at both ends of the channel, then a "Session" is created between the two ends, in order to connect the client and sever sink chains on either side of the boundary together. The client part of the channel is located at the end of Client context sink chain. The server part of the channel is located at the start of the Server context sink chain. Messages are delivered to the client channel via the IMessageSink interface, travel through the channel and are received by the server channel. The server channel delivers the message to the first server context sink.
Channels Properties are used to configure the channel at execution time. Channel Messages Sinks can expose the IDictionary interface. See the Remoting Security section for details on how to use properties for security purposes.
The following are channel properties that all channel expose.
Name | Example | Description |
---|---|---|
ChannelPriority | Priority of the channel | |
ChannelName | http
tcp |
Name of the channel |
MimeType | text/xml
bin/bin |
Mime type the channel uses. |
Channels and Configuration
Channel Sinks
Key Points
Key Points
Key Points
Key Points
e.g.
http://www.contoso.com:8080/media/../
http://www.contoso.com:8081/media/../
e.g.
http://111.222.233.123:8080/media/../
http://111.222.233.123:8081/media/../
Key Points
Name | Example | Description |
---|---|---|
UserName | joe | Username uses for Web Security. |
Password | secret | Password used for Web Security |
Domain | Domain used for Web Security. Optional | |
PreAuthenticate | True | If true, send the credentials on the first request. |
URL | http://. . . | Complete URI for the proxy. |
ProxyName | myproxy | The name of the HTTP Proxy |
ProxyPort | 80 | The proxy port number. |
Name | Example | Description |
---|---|---|
Host | localhost
server.domain.com |
The hostname of the receiver |
Ports | 80;8080 | The ports the Channel can listen on |
See the Remoting Configuration Section for details.
Key Points
See the Remoting Security Section for more details.
HTTP Channel is compliant with SOAP 1.1
Key Points
Key Points
Key Points
e.g.
tcp://www.contoso.com:8080/../
tcp://www.contoso.com:8081/../
e.g.
tcp://111.222.233.123:8080/..
tcp://111.222.233.123:8081/..
Name | Example | Description |
---|---|---|
URL | tcp://host/. . . | Complete URI the proxy. |
Name | Example | Description |
---|---|---|
Host | localhost
server.domain.com |
The hostname of the receiver |
Ports | 9000;9010 | The ports the Channel can listen on |
See the Remoting Configuration Section for details.