Tag: 监听器

在C#中捕获调试输出

是否可以在C#中捕获调试输出(创建调试监听器)? 我想拥有像DebugView这样的function,但我想将调试输出记录到SQL Server。 或者更好的方法是将DebugView日志记录到文件,然后将文件提供给SQL Server? 我已经实现了TraceListener并将其添加到Debug.Listeners集合中,但它似乎只从我的应用程序捕获调试。 我想要做的是从所有应用程序捕获调试。 有没有办法做到这一点?

在Console App中阅读按键

我正在写一个小应用程序,它将等待按键,然后根据按下的键执行操作。 例如,如果没有按下任何键,它将继续等待,如果按下按键1,它将执行动作1,或者如果按下按键2,它将执行动作2.我找到了几个有用的post到目前为止, 这一个是一个例子。 从此,到目前为止,我有以下代码。 do { while (!Console.KeyAvailable) { if (Console.ReadKey(true).Key == ConsoleKey.NumPad1) { Console.WriteLine(ConsoleKey.NumPad1.ToString()); } if (Console.ReadKey(true).Key == ConsoleKey.NumPad2) { Console.WriteLine(ConsoleKey.NumPad1.ToString()); } } } while (Console.ReadKey(true).Key != ConsoleKey.Escape); 这有几个问题,你可能已经猜到了。 1)使用ReadKey检测按下哪个键会导致暂停,这意味着必须按下该键。 我真的需要找到一种方法来避免这种情况。 可能使用KeyAvailable ,但我不确定如何使用它来检测哪个键被按下 – 任何想法? 2)由于某种原因, Escape键不会逃脱应用程序。 如果我删除if语句就行了,但是如上所述运行代码不会让我使用指定的键退出应用程序 – 任何想法?

nhibernate审核更新事件

以下代码适用于插入,但更新modifier永远不会设置,任何想法为什么? 正在运行预更新代码,并将状态和实体值正确设置为所需的值。 但是在查看生成的sql时,nhibernate不包含更新查询中的字段。 /// Updates auditable objects public class AuditEventListener : IPreInsertEventListener, IPreUpdateEventListener { private ISecurityManager securityManager; public bool OnPreInsert( PreInsertEvent args ) { var auditable = args.Entity as IAuditable; if (auditable != null) { Set( x => auditable.Creator, args.Persister, auditable, args.State, SecurityManager.Identity ); Set( x => auditable.DateAdded, args.Persister, auditable, args.State, Clock.Now ); } return […]

SQL Server数据库更改侦听器C#

我想从C#中侦听SQL Server数据库中数据的更改。 我希望有一些听众可以用来确定我的数据是否陈旧。 尽管是一个相当常见的场景,我找不到任何不仅仅是轮询数据库的解决方案。 我使用Linq-To-SQL来访问数据,因此有一个DataContext对象,我希望我可以监听一个on data changed事件,但我似乎无法找到它。 我感谢这是一个非常重要的障碍(从C#方法到SQL Server DB),我之所以认为这是一个已解决的问题的原因是它是GUI的常见要求。 如果无法监听更新,如何保持GUI中显示的数据新鲜(当它由SQL Server数据源支持时)。 虽然这不适用于GUI工作,但我期待从该领域中适应某些东西。 有没有办法在C#中订阅SQL Server数据库更改事件?