草庐IT

消息键

全部标签

c# - ASP.NET MVC 消息处理程序与 Web API 消息处理程序

我创建了2个项目:普通、基本的ASP.NETMVC4应用程序基本的ASP.NETWebAPI应用程序我所做的是将派生自DelegatingHandler的自定义消息处理程序添加到它们中。在这里:publicclassMyHandler:DelegatingHandler{protectedoverrideTaskSendAsync(HttpRequestMessagerequest,System.Threading.CancellationTokencancellationToken){returnbase.SendAsync(request,cancellationToken);}}

c# - 使用 DelegatingHandler 配置 Swashbuckle 作为消息调度程序

我有一个WebAPI,它是一个非常薄的基础架构,只包含两个DelegatingHandler实现,它们将传入消息分派(dispatch)到业务层中定义的消息处理程序实现。这意味着没有Controller,也没有Controller操作;API仅基于消息定义。这意味着在实现新功能时不需要更改此基础架构层中的代码。例如,我们有这样的消息:创建订单命令ShipOrderCommandGetOrderByIdQueryGetUnshippedOrdersForCurrentCustomerQuery委托(delegate)处理程序根据url确定确切的消息,并将请求内容反序列化为该消息类型的实例

C# 编译器在没有错误消息的情况下崩溃

varxrr=__arglist(Convert.ToUInt32(1),Convert.ToUInt32(2),Convert.ToUInt32(3));上面的代码会使编译器在构建时崩溃。我希望编译器以有意义的错误消息停止,而不是尝试编译代码。它可能是编译器中的错误吗?如果没有,我该如何解决这个错误? 最佳答案 这不是编译器中的错误;编译器给出正确的错误信息。相反,这是VisualStudio编辑器语言服务中的错误,会导致VisualStudio崩溃。但是,你的代码无论如何都是非法的;__arglist(...)表达式只能用于调用

c# - Azure Devops 上的 Nuget 还原失败,消息为 "unable to load the service index for source"

我有一个在私有(private)代理中运行的.NET解决方案的构建。该解决方案同时包含.NETCore2.1和.NETStandard2.0项目。安装的一些nuget包如下:NETStandard.Libraryv2.0.3Microsoft.AspNetCore.Mvcv2.0.0Microsoft.NETCore.Appv2.1.5尝试恢复nuget包时构建失败,出现以下错误:"F:\Agent01\w\141\s\xxxxxxx.sln"(Restoretarget)(1)->(Restoretarget)->C:\ProgramFiles\dotnet\sdk\2.1.500\

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# - 自动将 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