草庐IT

消息通知

全部标签

c# - 如何将 Ctrl/Shift/Alt + 组合键发送到应用程序窗口? (通过发送消息)

我可以成功地向应用程序发送任何单个按键消息,但我不知道如何发送按键组合(如Ctrl+F12、Shift+F1、Ctrl+R等。)试过这样做:SendMessage(handle,WM_KEYDOWN,Keys.Control,0);SendMessage(handle,WM_KEYDOWN,Keys.F12,0);SendMessage(handle,WM_KEYUP,Keys.F12,0);SendMessage(handle,WM_KEYUP,Keys.Control,0);但这似乎不起作用(应用程序就像只按下F12,而不是Ctrl+F12)。有什么想法可以实现吗?

c# - Protobuf-Net 错误消息 : No Serializer defined for type: System. 类型

我在尝试序列化List>时收到以下错误消息:没有为类型定义序列化器:System.Type我都试过了,只是序列化上述集合或序列化一个类,该类具有定义为protoMember的相同集合。两者都会导致相同的错误消息。这是不受支持的类型吗?我认为它是受支持的,但我忽略了其他一些东西,但也许我不正确?感谢任何可能有助于解决此问题的指示... 最佳答案 编辑:r580中包含对Type序列化的支持protobuf-net旨在序列化您的数据,而不是您的实现;Type是一个实现细节。严格来说,添加起来并不难(一些特定于实现的细节实际上已经通过程序集

c# - 在循环中使用 NUnit Assert 时,如何在错误消息中显示更多信息?

考虑以下代码:[Test]publicvoidWidgetTest(){foreach(Widgetwidgetinwidgets){Assert.AreEqual(0,widget.SomeValue);}}如果其中一个断言失败,我将收到一条非常无用的错误消息,如下所示:1)TestFailure:WidgetTest.TestSomeValueExpected:0Butwas:1atWidgetTest.TestSomeValue()那么,问题是,如何让NUnit显示更有用的信息,例如小部件的名称或循环的迭代等?即使是行号也会更有帮助,因为这是以自动方式运行的,我希望能够在不调试代

c# - 数据库更新后如何通知我的程序?

我有一个C#程序可以查询SQLServer数据库中的某些值。目前应用程序每分钟查询一次数据库以确保表是最新的。我希望能够做的是查询仅在数据库已更改/更新时完成。当数据库中的某些内容已更新时,我如何通知我的程序?谢谢 最佳答案 轮询数据库不是很优雅的解决方案。SqlDependency来自ADO.NET的文件对您的情况很有用。它不使用轮询,而是使用通知机制。通知由ServiceBroker在您的数据库中提供,因此需要在您的数据库中启用此服务。OnChange当指定表更改(更新、删除、插入..)时将引发事件下面是一个如何使用SqlDep

c# - 自动将 System.diagnostics.trace 消息记录到 Nlog 目标

假设您在整个应用程序中都有C#跟踪消息。像这样的东西:Trace.TraceInformation("ServiceStarted");如何自动将此记录到nLog目标,而不必将如下代码添加到所有具有跟踪消息的类中?usingNLog;privatestaticLoggerlogger=LogManager.GetCurrentClassLogger();有没有办法在不包含.NETFramework本身生成的跟踪的情况下执行此操作,这thisarticle演示怎么做? 最佳答案 这适用于没有明确来源的情况。

c# - 在 NLog 中缓冲日志消息并手动将它们刷新到目标

我正在尝试通过NLogMailTarget登录。它工作得很好,但我想用BufferedTargetWrapper包装mailtarget以缓冲日志消息直到一个预定义的代码点,我想手动刷新缓冲区并通过单个发送previusly缓冲的日志消息邮件(就像在邮件目标中定义的那样)。如果我定义了FlushTimeout或BufferedTargetWrapper的BufferSize,一切仍会按预期正常工作。但是,如果未设置FlushTimeout和BufferSize,我将无法正常工作。就像在SOForceBufferingTargetWrappertoempty上的这个问题中回答的那样我没有

c# - 具有不同消息类型的消息队列

我正在研究Microsoft消息队列以进行进程间跨网络消息传递。但是当我收到一条消息时,我先验不知道我得到的是什么类型的对象,所以代码queue.Formatter=newXmlMessageFormatter(newType[]{typeof(Wibble)});无法应用之前我收到消息是因为我不知道它是否是Wibble。那么如何接收不同的消息类型呢? 最佳答案 您已经在为XmlMessageFormatter使用构造函数重载接受类型的数组。因此,只需将您希望接收的所有类型添加到该数组中,而不是只添加一种类型。queue.Forma

c# - .net MemoryCache - 通知删除的项目

我在.NET4.0和c#中使用.net内存缓存,我希望在删除项目时通知我的应用程序(这样我就可以将它已删除写入日志文件或通知UI,该项目已被删除)。有没有办法做到这一点。我使用的是System.Runtime.Caching.MemoryCache而不是System.Web.Caching 最佳答案 编辑:如果您使用的是System.Runtime.Caching.MemoryCache,则有一个callback在CacheItemPolicy对象上删除,以及一个更新。myMemoryCache.Set("key",null,new

c# - 如何从 WebAPI 中的 HttpResponse 对象获取错误消息?

我有一个Controller从以下代码生成异常并显示以下消息:-publicHttpResponseMessagePutABook(BookbookToSave){returnRequest.CreateErrorResponse(HttpStatusCode.Forbidden,"NoPermission");}正在使用以下代码测试此方法:-varresponse=controller.PutABook(newBook());Assert.That(response.StatusCode,Is.EqualTo(HttpStatusCode.Forbidden));Assert.Tha

c# - 显示 Windows 10 toast 通知

我正在用C#(VisualStudio2015)开发一个程序,我想在特定情况下向用户显示toast消息。我从MSDN下载了这段代码,它运行良好://GetatoastXMLtemplateXmlDocumenttoastXml=ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastImageAndText04);//FillinthetextelementsXmlNodeListstringElements=toastXml.GetElementsByTagName("text");for(inti=0;i