本文整理汇总了C#中System.Threading.CancellationTokenSource.?.Cancel方法的典型用法代码示例。如果您正苦于以下问题:C# System.Threading.CancellationTokenSource.?.Cancel方法的具体用法?C# System.Threading.CancellationTokenSource.?.Cancel怎么用?C# System.Threading.CancellationTokenSource.?.Cancel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Threading.CancellationTokenSource
的用法示例。
在下文中一共展示了System.Threading.CancellationTokenSource.?.Cancel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
if (!File.Exists(SettingFileName))
{
var settings = new Settings() { CarName = "carName", HubName = "CentralHost", Url = "http://url", ServoPin = "7", ServoLeft = "0", ServoRight = "100", ServoStraight = "50" };
using (var file = File.Create(SettingFileName))
{
using (var writer = new StreamWriter(file))
{
writer.Write(JsonConvert.SerializeObject(settings));
writer.Flush();
}
}
return;
}
HubConnector connector;
CommandExecuter executer;
try
{
using (var file = File.OpenText(SettingFileName))
{
var setting = JsonConvert.DeserializeObject<Settings>(file.ReadToEnd());
connector = new HubConnector(setting.Url, setting.HubName, setting.CarName);
executer = new CommandExecuter(setting);
}
connector.ConectStart().Wait();
}
catch (Exception ex)
{
Console.WriteLine(ex);
return;
}
try
{
Console.WriteLine("Ready");
string ipaddress = "";
IPHostEntry ipentry = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in ipentry.AddressList)
{
if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
ipaddress = ip.ToString();
break;
}
}
connector.SentMessage(ipaddress);
System.Threading.CancellationTokenSource source = new System.Threading.CancellationTokenSource();
connector.GetCommand += command =>
{
source?.Cancel();
source = new System.Threading.CancellationTokenSource();
connector.StartExcuting();
executer.Excute(command, source.Token).ContinueWith(t => connector.EndExcuting()).Start();
};
connector.AbortExcuting += () =>
{
if(!source.IsCancellationRequested)
{
source.Cancel();
}
};
connector.Shutdown += () =>
{
Console.WriteLine("Shutdown");
};
connector.Reboot += () =>
{
Console.WriteLine("Reboot");
};
connector.ConnectingToClient += client => Console.WriteLine($"{client} is connected");
connector.DisconnectingFromClient += () => Console.WriteLine("disconected");
Console.Read();
}
catch (Exception ex)
{
connector.SentMessage(ex.ToString());
}
finally
{
connector.ConectStop().Wait();
executer?.Dispose();
}
}