Announcement

Collapse
No announcement yet.

DataTable per Remoting übertragen

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

  • DataTable per Remoting übertragen

    Hallo zusammen,

    ich hätte gerne gewusst, wie ich eine DataTable per .NET-Remoting
    übertragen . Wie stelle ich das an ?? MarshalbyRef funzt nicht !!!

    Wie geht es mit MarshalbyValue ???

    Hat jemand einen Beispiel in C# ??

    Vielen Dank im voraus

  • #2
    Hi,

    übertrage doch ein DataSet. Das ist von Hause aus [Serializable] bzw. implemtiert die ISerializable Schnittstelle. Das DataSet wird generell immer MarshalByValue übergeben was ja auch sinnvoll ist, schliesslich willst du ja am Client "eigentlich" keine Verweise auf Objekte im Server

    Comment


    • #3
      Hi Stefan,

      hast Du vielleicht ein Codebeispiel ??
      Hab in allen Büchern nachgeschlagen die ich habe, aber wie ich ein DataSet übertragen kann ..... Fehlanzeige ! Wie läuft das Remoting MarshalbyValue ab ?????

      Vielen Dank im voraus

      Stefa

      Comment


      • #4
        Also da gibt es generell nicht besonderes zu beachten. Mal angenommen du hast ein Assembly in der deine Interfaces definiert werden.

        <PRE>
        public interface ICustomerManager
        {
        DataSet GetCustomer(Guid customerId);
        }
        </PRE>

        Dann eine Assembly die die Interfaces implementiert, also dein "Business Layer".

        <PRE>
        public class CustomerManager: MarshalByRefObject, ICustomerManager
        {
        public DataSet GetCustomer(Guid customerId)
        {
        //Hier dann DataSet füllen -> ich mach das dann von einem
        //anderen Layer aus
        CustomerDataAccess cda = new CustomerDataAccess
        return cda.GetCustomerById(customerId);
        }
        }
        </PRE>

        Das ganze kannst du zum Test dann in einer Console Application hosten und mit einem Client, dem du die Interface Assembly gibst diese Funktion aufrufen. Danach hast du dein DataSet MarshalByValue am Client -> also eine Kopie.

        Hoffe das hilft ansonsten einfach nochmal posten ;

        Comment


        • #5
          Alles klar !!!

          Danke nochmal !

          Comment

          Working...
          X