Hjælp til .net remoting og server-klient oprettelsen
Hejsa allesammenJeg sidder her og roder med vores hovedopgave, og har i den anledning lavet 2 projekter i C#.
Det ene... serverdelen... startes af en GUI, og laver kald ned til server delen af remoting. Denne klasse ser sådan her ud
-------------------------------------------------------------------
using System;
using System.Collections;
using System.Runtime.Remoting.Channels.Tcp;
namespace TC45Server.Klient
{
public class Klient : MarshalByRefObject
{
private KlientController kc;
public Klient(KlientController kc)
{
this.kc = kc;
}
#region Metoder der skal kaldes remote
public ArrayList getAllParameters()
{
/// denne metode returnerer parametre
/// på alle køretøjerne, til en klient
return kc.returnAllParameters();
}
public String test(String tilbage)
{
Console.Write(tilbage);
return tilbage;
}
public ServerPart.Parameter returnParameter(String nrPlade)
{
/// skal returnere parameter for
/// et specifikt køretøj til remote
/// klient
return kc.returnParameter(nrPlade);
}
#endregion
}
}
----------------------------------------------------------------
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
namespace TC45Server.Klient
{
public class KlientServer
{
public KlientServer()
{
// registrere channel
ChannelServices.RegisterChannel(new TcpServerChannel(2245));
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Klient), "Klient",
WellKnownObjectMode.Singleton);
Console.Write("Press enter to exit");
Console.ReadLine();
}
}
}
-----------------------------------------------------------------
Når jeg læser diverse artikler på nettet om dette, så står der, at jeg skal lave en csc kommando på disse filer... når jeg vil lave min Klient.dll kører jeg denne kommando
csc /optimize+ /t:library /out:Klient.dll Klient.cs
og så får jeg en masse fejl...
Klient.cs(18,11): error CS0246: The type or namespace name 'KlientController'
could not be found (are you missing a using directive or an assembly
reference?)
Klient.cs(20,17): error CS0246: The type or namespace name 'KlientController'
could not be found (are you missing a using directive or an assembly
reference?)
Klient.cs(38,10): error CS0246: The type or namespace name 'ServerPart' could
not be found (are you missing a using directive or an assembly
reference?)
Så siger artiklerne også, at jeg nu skal lave en exe fil.. men men men... jeg har jo allerede et "entry point" i mit serverprogram... den starter GUI op.
Hvad skal jeg gøre her....
Så har jeg jo lavet et andet projekt i C# som skal være en klient, og her ser en del af koden sådan her ud...
-----------------------------------------------------------------
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
namespace AdminGUI
{
public class AdminKlient
{
public AdminKlient()
{
//
// TODO: Add constructor logic here
//
Klient klt = (Klient)Activator.GetObject(typeof(Klient), "tcp://localhost:2245/Klient");
}
}
}
----------------------------------------------------------------
Her siger artiklerne, at jeg skal lave en exe fil her med csc kommandoen.. men igen her, har jeg allerede startet programmet med en GUI... hvad skal jeg gøre her...
for sjovt nok :-) så kender den jo intet til Klient, da det er i 2 forskellige projekter, jeg har lavet det i.
Håber der er nogen som kan hjælpe mig med dette. :-)
