本文整理汇总了C#中Main.AddBackendPlugin方法的典型用法代码示例。如果您正苦于以下问题:C# Main.AddBackendPlugin方法的具体用法?C# Main.AddBackendPlugin怎么用?C# Main.AddBackendPlugin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Main
的用法示例。
在下文中一共展示了Main.AddBackendPlugin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
public static void Main(string[] args)
{
if (File.Exists(Settings.Instance.AppDataPath + "log4net"))
{
// load settings from file
XmlConfigurator.Configure(new FileInfo(Settings.Instance.AppDataPath + "log4net"));
}
else
{
// build our own, who logs only fatals to console
Logger root = ((Hierarchy) LogManager.GetRepository()).Root;
var lAppender = new ConsoleAppender
{
Name = "Console",
Layout = new PatternLayout("%date{dd-MM-yyyy HH:mm:ss,fff} %5level [%2thread] %line:%logger.%message%n"),
Threshold = Level.Fatal
};
lAppender.ActivateOptions();
root.AddAppender(lAppender);
root.Repository.Configured = true;
}
#if !WINDOWS
PlatformID id = Environment.OSVersion.Platform;
// Don't allow running as root on Linux or Mac
if ((id == PlatformID.Unix || id == PlatformID.MacOSX) && new UnixUserInfo (UnixEnvironment.UserName).UserId == 0)
{
LogManager.GetLogger(typeof(Main)).Fatal("Sorry, you can't run XG with these permissions. Safety first!");
Environment.Exit (-1);
}
#endif
var instance = new Main();
ABackendPlugin backend;
if (Settings.Instance.UseMySqlBackend)
{
backend = new BackendPlugin();
}
else
{
backend = new Plugin.Backend.File.BackendPlugin();
}
instance.AddBackendPlugin(backend);
if (Settings.Instance.UseWebServer)
{
instance.AddWorker(new Plugin.General.Webserver.Plugin());
}
if (Settings.Instance.UseJabberClient)
{
instance.AddWorker(new Plugin.General.Jabber.Plugin());
}
instance.Start();
string shutdownFile = Settings.Instance.AppDataPath + "shutdown";
while (true)
{
if (File.Exists(shutdownFile))
{
try
{
File.Delete(shutdownFile);
}
catch (Exception ex)
{
LogManager.GetLogger(typeof (Main)).Fatal("Cant delete shutdown file", ex);
}
instance.Stop();
break;
}
Thread.Sleep(1000);
}
Environment.Exit(0);
}