Remoting Stop Server
Hej,Jeg bruger Arnes remoting eksempel (den udvidede): http://www.eksperten.dk/guide/86.
Nu til selve serverdelen, har jeg valgt at bruge en winform (der skal ske forskellige ting på selve serveren af og til)....
Af samme grunde, vil jeg gerne kunne stoppe og starte serveren, som det nu lige passer. Dertil har jeg forsøgt følgende:
public Server()
{
InitializeComponent();
try
{
RemotingConfiguration.Configure("Server.exe.config", false);
lblServerRunning.Text = "Serveren er startet";
}
catch
{
lblServerRunning.Text = "Serveren er stoppet.";
}
this.Resize += new EventHandler(Server_Resize);
notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);
}
private void btnStartServer_Click(object sender, EventArgs e)
{
try
{
RemotingConfiguration.Configure("Server.exe.config", false);
lblServerRunning.Text = "Serveren er startet";
btnStopServer.Visible = true;
btnStartServer.Visible = false;
}
catch
{
lblServerRunning.Text = "Serveren er stoppet.";
}
}
private void btnStopServer_Click(object sender, EventArgs e)
{
//Hvordan stopper jeg serveren - nedenforviste virker ikke og jeg kan ikke starte serveren igen.
// do this to unregister the channel
IChannel[] regChannels = ChannelServices.RegisteredChannels;
for (int i = 0; i < regChannels.Length; i++)
{
IChannel channel = (IChannel)ChannelServices.GetChannel(regChannels[i].ChannelName);
ChannelServices.UnregisterChannel(channel);
}
lblServerRunning.Text = "Serveren er stoppet.";
btnStopServer.Visible = false;
btnStartServer.Visible = true;
}
Selve stop serveren virker ikke....Når jeg har klikket på knappen og forsøger via klienten at tilgå serveren, får jeg at vide, at den er åben og tilgængelig (den henter også ting fra metoden og dermed databasen).
Hvis jeg så (efter at have klikket på stop knappen først) klikker på start knappen, får jeg at vide, at "Navnet på fjernprogrammet, 'TimeRegServer', er allerede indstillet."
Så det jeg har brug for, er at kunne stoppe serveren, så klienterne får en "Server nægtet adgang" meddelelse, indtil serveren igen bliver startet. Hvordan gøres dette?
mvh
simsen :-)