本文整理汇总了C#中Server.Server.SetStatus方法的典型用法代码示例。如果您正苦于以下问题:C# Server.SetStatus方法的具体用法?C# Server.SetStatus怎么用?C# Server.SetStatus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Server.Server
的用法示例。
在下文中一共展示了Server.SetStatus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
private static void Main(string[] args)
{
var channelServ = new TcpChannel();
ChannelServices.RegisterChannel(channelServ, false);
var mainServer = (IMainServer) Activator.GetObject(typeof (IMainServer), Config.RemoteMainserverUrl);
ServerInit serverInit = mainServer.AddServer();
channelServ.StopListening(null);
ChannelServices.UnregisterChannel(channelServ);
var server = new Server(serverInit);
IDictionary properties = new Hashtable();
int serverPort = Config.GetServerPort(serverInit.Uuid);
const int serverTimeout = Config.InvocationTimeout;
properties["port"] = serverPort;
properties["timeout"] = serverTimeout;
channelServ = new TcpChannel(properties, null, null);
ChannelServices.RegisterChannel(channelServ, false);
RemotingServices.Marshal(server, Config.RemoteServerObjName);
server.StartSplitLock();
foreach (var faultDetection in serverInit.FaultDetection)
{
var fd = (IServer) Activator.GetObject(typeof (IServer), Config.GetServerUrl(faultDetection.Key));
fd.OnFaultDetectionReborn(serverInit.Uuid);
}
int backupId = -1;
if ((serverInit.FaultDetection.Count == 1 && serverInit.FaultDetection.ContainsKey(serverInit.Parent) &&
serverInit.Parent != -1) || (serverInit.FaultDetection.Count == 0 && serverInit.Parent != -1))
{
backupId = serverInit.Parent;
}
else if (serverInit.FaultDetection.Count > 0)
{
backupId = serverInit.FaultDetection.Keys.Max();
}
if (backupId != -1)
{
/* Get data from backup */
var backupServer = (IServer) Activator.GetObject(typeof (IServer), Config.GetServerUrl(backupId));
backupServer.StartSplitLock();
ParticipantStatus status = backupServer.OnChild(serverInit.Uuid, serverInit.Version,
serverInit.ServerCount);
server.SetStatus(status);
backupServer.EndSplitLock();
}
else
{
Console.WriteLine("Server need to have a backup server! Is it the first one?");
}
server.EndSplitLock();
Console.WriteLine("Press <enter> to exit");
Console.ReadLine();
}