我的控制台未显示主要异步模式

时间:2019-05-07 13:52:34

标签: c# async-await console-application

我正在编写一个监听2个udp端口,发送和接收udp消息以及创建一些日志的应用程序。我最初是从winform应用程序开始的,但是由于我不需要UI,因此将其转换为c#控制台应用程序。

问题是程序按预期工作时,我没有任何控制台输出,事实上我根本没有控制台。这是我的TAP模式代码。

    static void Main(string[] args)
    {
        MainAsync(args).GetAwaiter().GetResult();
    }

    static async Task MainAsync(string[] args)
    {
        await createLogFolderIfNotExists();
        new Server(new TextLogger("LogSistema"), //log del sistema para detectar errores
            new List<ILogger>()
                { new TextLogger(System.Configuration.ConfigurationManager.AppSettings.Get("ArchivoLog")), new DebugLogger() }, //lista de loggers de usuario
            new UdpListener(514),
            new UdpListener(33500)
            );

        await Task.Delay(-1);
    }

    private static Task<int> createLogFolderIfNotExists()
    {
        var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), $"SMPS");
        if (Directory.Exists(path))
            return Task.FromResult(0);
        System.IO.Directory.CreateDirectory(path);
        return Task.FromResult(0);
    }

为什么我没有控制台?

编辑:解决方案是将项目输出更改为控制台应用程序,因为它位于Windows应用程序设置中。

0 个答案:

没有答案