在更新数据库期间有没有办法显示输出?

 卖火柴的冰枫_939 发布于 2023-01-19 18:40

我正在运行一个相当大的种子作为压力测试,我想知道是否可以向控制台显示输出.

我想显示其余的条目或完成百分比,或者其他任何内容.

有没有办法在update-database期间写入控制台或包管理器控制台?

1 个回答
  • 有没有办法在update-database期间写入控制台或包管理器控制台?

    我将描述两种可供您选择的选项:

    1. Console.WriteLine解决方案:

    要么,如果你从一个运行代码控制台应用程序或从图书馆任何其他应用程序类型(例如asp.net),你可以使用Console.WriteLine的功能,但主要的问题是,如果有一个听众Console输出.

    如果没有任何内容正在侦听控制台,那么请利用Win32.AllocConsole()Windows API函数打开侦听器:

    using System.Runtime.InteropServices;
    [DllImport("kernel32")]
    static extern bool AllocConsole();
    

    用法:

    AllocConsole();
    //now you can call: Console.WriteLine();
    Console.WriteLine("Total number of records left to seed:{0}", total);
    

    考虑使用以下指令包装上面的代码,以避免在生产环境中出现意外的痛苦:

    #if DEBUG
    
    #endif
    

    说明:

    AllocConsole初始化新控制台的标准输入,标准输出和标准错误句柄.标准输入句柄是控制台输入缓冲区的句柄,标准输出和标准错误句柄是控制台屏幕缓冲区的句柄.要检索这些句柄,请使用GetStdHandle函数.

    2. Debug.Print解决方案:

    Debug.Print在调试模式下使用该功能.使用它,您可以将任何想要的内容写入Visual Studio的DEBUG输出窗口:

    调试 - > Windows - >输出 - >显示输出 - >调试

    那么,您是否考虑使用NLog或LOG4NET将此信息记录到某个文本文件中?

    2023-01-19 18:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有