Re: Channel relationship to RegisterWellKnownServiceType()

From: Sam Santiago (ssantiago_at_n0spam-SoftiTechture.com)
Date: 08/28/04

  • Next message: Sam Santiago: "Re: Starting/Stopping/Checking State on Remoted Objects"
    Date: Fri, 27 Aug 2004 22:55:17 -0700
    
    

    A channel is a communication mechanism. You can register a well known type
    without having a registered channel, but then you'll have no way to
    communicate with it. You won't get a compile error or even a runtime error
    on the server side, but when a client tries to connect to it an exception
    will be thrown such as:

    System.Runtime.Remoting.RemotingException: This remoting proxy has no
    channel sink which means either the server has no registered server channels
    that are listening, or this application has no suitable client channel to
    talk to the server.

    The Application Domain is the "container" for both. An App domain must have
    a channel registered in order to communicate with other App domains. Well
    known objects are objects that are accessible in an App domain via a known
    URI. So in your typical URL:

    http://myserver:port/MyObjectURI

    the first part, http://myserver:port are strictly communication related -
    protocol, destination server, and port (which will indirectly identify the
    App domain) and the last part, MyObjectURI, is the URI for your remotely
    available object. So without a registered channel your App domain cannot
    communicate outside of its boundaries.

    Check out this link:

    Remoting Architecture
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconnetremotingarchitecture.asp

    Thanks,

    Sam

    -- 
    _______________________________
    Sam Santiago
    ssantiago@n0spam-SoftiTechture.com
    http://www.SoftiTechture.com
    _______________________________
    "Alex Maghen" <AlexMaghen@discussions.microsoft.com> wrote in message
    news:D3F89528-0123-4053-B497-B293EBDDCC64@microsoft.com...
    > I'm confused about the relationship between Channels and Registered Well
    > Known Service Types.
    >
    > Many of the sampes I've seen for Remoting server applications show the
    > following code for starting up the availability of a class to other
    > applications:
    >
    > HttpChannel channel = new HttpChannel(8100);
    > ChannelServices.RegisterChannel(channel);
    >
    > RemotingConfiguration.RegisterWellKnownServiceType(
    >    typeof(ExposedClass),
    >    "ExposedClass.soap",
    >    WellKnownObjectMode.Singleton);
    >
    > The first 2 lines create and "Register" a Channel. The NEXT line,
    Registers
    > a Well Kknow Service Type. But that RegisterWellKnownServiceType() call
    > doesn't take the newly created Channel as a parameter or anything. So how
    are
    > they connected to one another? If you've created a Channel on port 8100,
    what
    > does that have to do with the registration of a Well KNown Service Type?
    >
    > Alex
    

  • Next message: Sam Santiago: "Re: Starting/Stopping/Checking State on Remoted Objects"

    Relevant Pages

    • [RFC][PATCH 6/13] Equinox SST driver:hardware registers
      ... * Each ICP provides a set of input and output registers per channel. ... * banked input register structure - two sets for each channel ... event (SSP64) */ ... complete attn */ ...
      (Linux-Kernel)
    • Re: Java NIO Strategy
      ... the bytes from the socket (or you are ready to handle the next ... attaching to the SelectionKey is very dangerous, ... I register and de-register as follows: ... If I get EOF instead I close the channel, ...
      (comp.lang.java.programmer)
    • Re: Server-to-Server Remoting
      ... You can't send an object from server b that you got at ... unncessary as your making a client call and there is already a channel ... >My problem is that I can't figure out how to register and instantiate ... which is a subclass of BaseDataService called ...
      (microsoft.public.dotnet.framework.remoting)
    • RE: UnregisterChannel Issue in remoting
      ... then registered the remote type: ... When I tried to register the remote ... We need to unregister the remote type after the channel is ... the current problem is how to unregister a remote type. ...
      (microsoft.public.dotnet.distributed_apps)
    • [PATCH] IPMI: Support registering for a command per-channel
      ... This patch adds the ability to register for a command per-channel. ... specific channel instead the current behaviour of all channels. ...
      (Linux-Kernel)

    Loading