问题标签 [message-handlers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
229 浏览

c# - 读取 HttpContent 的前 n 个字符

我想在 Visual C# Web API 程序中记录有关 HttpRequestMessage 响应的信息。我想使用这样的消息处理程序(从 DelegatingHandler 继承):

问题是result.Content有时会很大,所以我想将其限制为仅打印前 N 个字符(大约 50 个)。

我尝试了什么:

  • toString()使用和使用将整个内容复制到字符串中SubString。这正是我想要的,但是将巨大的字符串读入内存然后只使用前几个字符似乎很浪费——我觉得必须有更好的方法。
  • 来自互联网的各种解决方案,它们读取字符但将它们从流中删除。我需要按原样发回完整的流。
0 投票
0 回答
1302 浏览

c# - 带有自定义处理程序的 Web API 路由不起作用

我正在尝试使用像这样的自定义消息处理程序向我的 WebAPI 添加路由

处理程序代码

但是每次我访问所述路由时,我都没有返回我的自定义标头或 NoContent 代码,而是从路由接收结果,但是如果我将处理程序添加为全局处理程序,就像这样

它工作并返回我的自定义标题和 NoContent 状态代码我在路由设置中缺少什么?

0 投票
2 回答
5237 浏览

android - 如何将异步方法调用(回调)转换为 Android 中的同步方法调用

例子:

同步版本:

int 天气 = getWeather();

异步版本:

getweather(callback) 到另一个类,当其他类准备好返回值时,它使用回调。callback.receiveWeather(温度); 并且回调对象有一个被覆盖的 receiveWeather(int) 方法。

问题:

现在我如何将异步方法转换为 android 中的同步调用。你能给我一个例子吗?我知道它有一些事情要做线程,等待()等..但不知道要实现它。

0 投票
1 回答
1051 浏览

asp.net-web-api - 在运行时删除/添加 MessageHandler

如何在运行时添加或删除消息处理程序?以下示例不起作用:

消息处理程序已添加到列表中,但不会在下一个请求中调用...

0 投票
1 回答
282 浏览

c# - Web API 在格式化程序中修改传入的有效负载

全部,

我正在尝试通过 Web API 修改传入对象的有效负载。目前我正在使用一个自定义格式化程序,它继承JsonMediaTypeFormatter并覆盖了相关方法。

看起来像这样:

我正在使用它来跟踪通过 API 传入的每个对象。

在这一切发生之前,我有一个 MessageHandler,它正在创建一个事件编号并将其添加到Request.Properties.

尝试在之前在 MessageHandler 中创建的格式化程序中获取事件编号被证明是困难的。访问HttpContext.Current.Items["MS_HttpRequestMessage"].Properties似乎是一个不同的请求,因为它不包含事件编号。

我有两个问题:

  1. 我这样做是正确的还是有更好的方法?
  2. 如果我采用正确的方法,如何获得正确的请求以提取事件编号?

谢谢

0 投票
1 回答
1741 浏览

java - Java Websocket / MessageHandler 返回全局范围?

我面临以下问题,但我还没有找到可行的解决方案。我有 3 个不同的应用程序应该相互通信:

  • UI部分(一)
  • 后端应用程序 (2)
  • “云端”微服务 (3)

后端应用程序为 UI 提供 Web 服务 (REST),以从微服务获取信息或将信息放入微服务。我想从微服务中获取的一切都可以正常工作,但是:如果我想将数据放入微服务,规范需要 websocket 连接。这也可以正常工作,但是微服务在(不)成功命令之后返回一条消息,例如

现在的问题是:如何在我的应用程序中获取此消息并将其发送回 UI,以便用户知道命令是否成功?

目前我尝试了这个:

WebSocketClient.java

MyTotalAwesomeController.java

我可以看到 MessageHandler 返回的控制台输出,但我不知道如何将其传递给父方法以返回 insted,而不是仅返回ResponseEntity.ok().

我还不太习惯 Java 中的 WebSocket 连接,所以请不要评判我 ;-)

谢谢您的帮助。

0 投票
1 回答
909 浏览

c# - 从 SendAsync 方法 ASP.net Web API 消息处理程序获取响应数据

我想从 Web api 获取返回的数据并保存在我的数据库中。

我的消息处理程序代码在这里:

我实际上想从响应返回的“数据”变量中获取数据......类似于“ response.data”......对此有任何帮助吗?

0 投票
1 回答
1081 浏览

spring-integration - Spring集成几个messageHandlers

我是 Spring Integration 的新手,在这里找不到任何类似的帖子。现在我有一个 messageHandler 调用特定的 URI 并写入通道。

和集成流

现在,我必须扩展这个函数,以便调用一个额外的 URL。据我了解,MessageHandler 始终只能调用一个 URL,而 IntegrationFlow 中的处理函数只能调用一个 MessageHandler。

0 投票
1 回答
601 浏览

c# - 具有基于属性的路由的自定义消息处理程序不适用于 Web API 2

我的 Web API 2 项目中有一个消息处理程序,它将 url 更改为不同的路径。比如 url"root/controller/somevalue/detials"会改成"root/controller/2/details". 其中“somevalue”或 2 是操作方法的参数。

我在调用消息处理程序之前放置了消息处理程序注册码, config.MapHttpAttributeRoutes(); 注册为 config.MessageHandlers.Add(new MyHandler());

对于正常的路线映射,它工作正常。但是,如果我启用基于属性的路由,则会调用消息处理程序并更改 url,但操作方法会被相同的“somevalue”而不是“2”命中。

这里发生了什么?

0 投票
1 回答
307 浏览

android - 在不复制相同代码的情况下,在我的应用程序的每个活动中与服务进行通信的最佳方式是什么?

我实现了一个服务,并使用一个带有其处理程序的 Messenger 作为通信桥梁。每次我开始一项活动时,我都必须遵循以下步骤:

1)创建服务连接

2) 创建信使

3)将服务绑定到我的活动

4)开始使用服务

5)在我的任务结束时,将服务与我的活动解除绑定

我需要在我的应用程序的几乎所有活动中与我的服务进行通信,并且我不想每次都重复所有代码。将所有活动扩展到父亲活动是否是一个好的解决方案?是否可以在“应用程序”中编写所有通信代码?