Announcement

Collapse
No announcement yet.

Remoting vom Webservice aus

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Remoting vom Webservice aus

    Hallo,

    ich möchte gerne von einem Webservice aus auf ein Remoting Objekt zugreifen! Meine Implementierung läuft auch soweit ganz gut, hier mal ein Code Schnippsel:

    Code:
    [WebMethod]
    public bool IsLocalServiceAlive()
        {
    
    System.Runtime.Remoting.Channels.IChannel channel = new TcpChannel();
                        try
                        {
                            System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(channel, false);
                            ICDSRemoteObject obj = (IRemoteObject)Activator.GetObject(typeof(IRemoteObject),
                                ConfigurationManager.AppSettings["RemoteURL"]);
                            bool result = obj.IsAlive();
                            return result;
                        }
                        catch (Exception e)
                        {
    
                            WriteEntry(this, e.ToString(), EventCategory.Exception);
                            return false;
                        }
                        finally
                        {
                            System.Runtime.Remoting.Channels.ChannelServices.UnregisterChannel(channel);
                        }
    }
    so das klappt erst mal ganz gut!
    Jetzt kommen noch andere lokale Serivce Methoden dazu, die mehr Zeit benötigen! Wie verhält es sich jetzt bei einem Multiclient Zugriff auf die Webmethoden? Wenn in der Methode der Channel registriert wird und die Methode arbeitet, würde sich also zeitgleich ein zweiter Client verbinden, selbe Methode aufrufen und es würde doch aber mals der gleiche Channel versucht werden zu registrieren! Meiner Meinung nach würde da doch dann eine Exception geworfen werden! Konnte es leider noch nicht ausprobieren!

    Was meint ihr dazu? Sollte man die Channelregistrierung statisch auslagern? Wenn ja, wie bekomme ich mit wenn die komplette Webseite entladen wird und damit auch die statischen Objekte zerstört werden?

    LG MC#

  • #2
    Konstruktor

    Warum packst Du die Kanalregistrierung nicht einfach in den Konstruktor?
    Meine Forderung: Mehr Qualität bei der Softwareentwicklung!

    Comment

    Working...
    X